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")