INNER CODE UNIT · Python

main

RockxyApp/Rockxy · releases/validate_metadata.py:499

def main() -> int:
    parser = argparse.ArgumentParser(description=__doc__)
    parser.add_argument("--appcast", default="appcast.xml", type=Path)
    parser.add_argument("--latest", default="releases/latest.json", type=Path)
    parser.add_argument("--catalog", default="releases/catalog.json", type=Path)
    parser.add_argument("--manifest", type=Path)
    parser.add_argument("--app", type=Path, help="Path to Rockxy.app or an Info.plist to compare against metadata")
    parser.add_argument("--build-settings", type=Path, help="Path to a release xcconfig to compare against metadata")
    args = parser.parse_args()

    catalog = validate_catalog(args.catalog)
    require_provenance = int(catalog.get("schema_version", 1)) >= 2
    latest = validate_latest(args.latest, require_provenance=require_provenance)
    appcast_releases = validate_appcast(args.appcast)
    newest_catalog = catalog["releases"][0]

    if release_identity(latest) != release_identity(newest_catalog):
        fail("latest.json does not match the newest release in catalog.json")

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…