codegen: Allow skipping existing versions (#485)

This commit is contained in:
John Vandenberg
2024-05-19 10:51:47 +08:00
committed by GitHub
parent 3c93f2e2e2
commit d722dd2b73

View File

@@ -31,6 +31,7 @@ fn main() -> Result<()> {
std::process::exit(1); std::process::exit(1);
} }
let package = &args[0]; let package = &args[0];
let skip_existing_manifest_versions = std::env::var("SKIP_EXISTING_MANIFEST_VERSIONS").is_ok();
let workspace_root = &workspace_root(); let workspace_root = &workspace_root();
let manifest_path = &workspace_root.join("manifests").join(format!("{package}.json")); let manifest_path = &workspace_root.join("manifests").join(format!("{package}.json"));
@@ -179,6 +180,13 @@ fn main() -> Result<()> {
continue; continue;
} }
let reverse_semver = Reverse(semver_version.clone().into());
if skip_existing_manifest_versions && manifests.map.contains_key(&reverse_semver) {
eprintln!("Skipping {semver_version} already in manifest");
continue;
};
let mut download_info = BTreeMap::new(); let mut download_info = BTreeMap::new();
let mut pubkey = None; let mut pubkey = None;
for (&platform, base_download_info) in &base_info.platform { for (&platform, base_download_info) in &base_info.platform {
@@ -357,10 +365,7 @@ fn main() -> Result<()> {
if semver_version.pre.is_empty() { if semver_version.pre.is_empty() {
semver_versions.insert(semver_version.clone()); semver_versions.insert(semver_version.clone());
} }
manifests.map.insert( manifests.map.insert(reverse_semver, ManifestRef::Real(Manifest { download_info }));
Reverse(semver_version.clone().into()),
ManifestRef::Real(Manifest { download_info }),
);
} }
if has_build_metadata { if has_build_metadata {
eprintln!( eprintln!(