Speed up build_test
Stop writing out ninja files, as they become very large, especially when
multiplied by the number of defined products.
Test: treehugger
Change-Id: Id9529d14040acb72a0188e58b5db2911f142071e
diff --git a/cmd/multiproduct_kati/main.go b/cmd/multiproduct_kati/main.go
index 9cb75fa..6a3d579 100644
--- a/cmd/multiproduct_kati/main.go
+++ b/cmd/multiproduct_kati/main.go
@@ -393,6 +393,9 @@
config := build.NewConfig(ctx, flag.Args()...)
config.Environment().Set("OUT_DIR", outDir)
+ if !*keepArtifacts {
+ config.Environment().Set("EMPTY_NINJA_FILE", "true")
+ }
build.FindSources(ctx, config, mpctx.Finder)
config.Lunch(ctx, product, *buildVariant)
@@ -413,12 +416,7 @@
log.Fatalf("Error zipping artifacts: %v", err)
}
}
- if *incremental {
- // Save space, Kati doesn't notice
- if f := config.KatiBuildNinjaFile(); f != "" {
- os.Truncate(f, 0)
- }
- } else {
+ if !*incremental {
os.RemoveAll(outDir)
}
}()
diff --git a/ui/build/config.go b/ui/build/config.go
index 840f505..5a6d5db 100644
--- a/ui/build/config.go
+++ b/ui/build/config.go
@@ -143,6 +143,9 @@
"ANDROID_DEV_SCRIPTS",
"ANDROID_EMULATOR_PREBUILTS",
"ANDROID_PRE_BUILD_PATHS",
+
+ // Only set in multiproduct_kati after config generation
+ "EMPTY_NINJA_FILE",
)
// Tell python not to spam the source tree with .pyc files.
diff --git a/ui/build/kati.go b/ui/build/kati.go
index 56e9a88..d2e9fe9 100644
--- a/ui/build/kati.go
+++ b/ui/build/kati.go
@@ -81,6 +81,10 @@
"--kati_stats",
}, args...)
+ if config.Environment().IsEnvTrue("EMPTY_NINJA_FILE") {
+ args = append(args, "--empty_ninja_file")
+ }
+
cmd := Command(ctx, config, "ckati", executable, args...)
cmd.Sandbox = katiSandbox
pipe, err := cmd.StdoutPipe()