summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2024-02-05 12:52:18 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2024-02-05 12:52:18 +0000
commitc29a4e01a029ad4e20dc96f028e19737ceb796b7 (patch)
treee69baf7ac3581771a6c65851bc3a0f03af37e60b
parent44674672109e2f8b0c3bc4373cd4184291949fdb (diff)
parentc359e76d2d145f80b9e1c64c0431dc3acbb82ed3 (diff)
downloaddevelopment-c29a4e01a029ad4e20dc96f028e19737ceb796b7.tar.gz
Merge "Check whether cargo run can be omitted." into main am: c359e76d2d
Original change: https://android-review.googlesource.com/c/platform/development/+/2945327 Change-Id: I9930ba4ae403972c93bef10f68d89391ccd9d679 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--tools/cargo_embargo/src/main.rs14
1 files changed, 13 insertions, 1 deletions
diff --git a/tools/cargo_embargo/src/main.rs b/tools/cargo_embargo/src/main.rs
index fab14040c..713bb8ced 100644
--- a/tools/cargo_embargo/src/main.rs
+++ b/tools/cargo_embargo/src/main.rs
@@ -288,7 +288,7 @@ fn make_crates(args: &Args, cfg: &VariantConfig) -> Result<Vec<Crate>> {
}
}
-/// Runs cargo_embargo with the given JSON configuration string.
+/// Runs cargo_embargo with the given JSON configuration file.
fn run_embargo(args: &Args, config_filename: &Path) -> Result<()> {
let cfg = Config::from_file(config_filename)?;
let crates = make_all_crates(args, &cfg)?;
@@ -319,6 +319,18 @@ fn run_embargo(args: &Args, config_filename: &Path) -> Result<()> {
}
}
+ // If we were configured to run cargo, check whether we could have got away without it.
+ if cfg.variants.iter().any(|variant| variant.run_cargo) && package_out_files.is_empty() {
+ let mut cfg_no_cargo = cfg.clone();
+ for variant in &mut cfg_no_cargo.variants {
+ variant.run_cargo = false;
+ }
+ let crates_no_cargo = make_all_crates(args, &cfg_no_cargo)?;
+ if crates_no_cargo == crates {
+ eprintln!("Running cargo appears to be unnecessary for this crate, consider adding `\"run_cargo\": false` to your cargo_embargo.json.");
+ }
+ }
+
write_all_bp(&cfg, crates, &package_out_files)
}