summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Colin Cross <ccross@android.com> 2021-06-01 21:55:25 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2021-06-01 21:55:25 +0000
commit7cbf1d68ec3ec091cb30f6afcda941fda900760d (patch)
tree952c2d1959eeabed0fdee3b4b309b37895ca99e7
parent2a8b0530faa2b6aa8cf723400bb49d3d9f0f1b77 (diff)
parentf3bdbcbea3fb07d41ff7cf554e0f4db645890944 (diff)
Merge "Fix propagating EMPTY_NINJA_FILE from multiproduct_kati to minibp"
-rw-r--r--cmd/multiproduct_kati/main.go2
-rw-r--r--ui/build/config.go14
-rw-r--r--ui/build/kati.go2
-rw-r--r--ui/build/soong.go1
4 files changed, 14 insertions, 5 deletions
diff --git a/cmd/multiproduct_kati/main.go b/cmd/multiproduct_kati/main.go
index e0f8caac2..20f146ae3 100644
--- a/cmd/multiproduct_kati/main.go
+++ b/cmd/multiproduct_kati/main.go
@@ -433,7 +433,7 @@ func buildProduct(mpctx *mpContext, product string) {
config := build.NewConfig(ctx, args...)
config.Environment().Set("OUT_DIR", outDir)
if !*keepArtifacts {
- config.Environment().Set("EMPTY_NINJA_FILE", "true")
+ config.SetEmptyNinjaFile(true)
}
build.FindSources(ctx, config, mpctx.Finder)
config.Lunch(ctx, product, *buildVariant)
diff --git a/ui/build/config.go b/ui/build/config.go
index 1d1f71f67..3ebde0dbe 100644
--- a/ui/build/config.go
+++ b/ui/build/config.go
@@ -72,6 +72,9 @@ type configImpl struct {
// During Bazel execution, Bazel cannot write outside OUT_DIR.
// So if DIST_DIR is set to an external dir (outside of OUT_DIR), we need to rig it temporarily and then migrate files at the end of the build.
riggedDistDirForBazel string
+
+ // Set by multiproduct_kati
+ emptyNinjaFile bool
}
const srcDirFileCheck = "build/soong/root.bp"
@@ -203,9 +206,6 @@ func NewConfig(ctx Context, args ...string) Config {
"ANDROID_DEV_SCRIPTS",
"ANDROID_EMULATOR_PREBUILTS",
"ANDROID_PRE_BUILD_PATHS",
-
- // Only set in multiproduct_kati after config generation
- "EMPTY_NINJA_FILE",
)
if ret.UseGoma() || ret.ForceUseGoma() {
@@ -1189,3 +1189,11 @@ func (c *configImpl) LogsDir() string {
func (c *configImpl) BazelMetricsDir() string {
return filepath.Join(c.LogsDir(), "bazel_metrics")
}
+
+func (c *configImpl) SetEmptyNinjaFile(v bool) {
+ c.emptyNinjaFile = v
+}
+
+func (c *configImpl) EmptyNinjaFile() bool {
+ return c.emptyNinjaFile
+}
diff --git a/ui/build/kati.go b/ui/build/kati.go
index 06ec64607..dad68fac2 100644
--- a/ui/build/kati.go
+++ b/ui/build/kati.go
@@ -136,7 +136,7 @@ func runKati(ctx Context, config Config, extraSuffix string, args []string, envF
// information out with --empty_ninja_file.
//
// From https://github.com/google/kati/commit/87b8da7af2c8bea28b1d8ab17679453d859f96e5
- if config.Environment().IsEnvTrue("EMPTY_NINJA_FILE") {
+ if config.EmptyNinjaFile() {
args = append(args, "--empty_ninja_file")
}
diff --git a/ui/build/soong.go b/ui/build/soong.go
index cd645eb41..712841465 100644
--- a/ui/build/soong.go
+++ b/ui/build/soong.go
@@ -119,6 +119,7 @@ func bootstrapBlueprint(ctx Context, config Config, integratedBp2Build bool) {
args.OutFile = shared.JoinPath(config.SoongOutDir(), ".bootstrap/build.ninja")
args.GlobFile = globFile
args.GeneratingPrimaryBuilder = true
+ args.EmptyNinjaFile = config.EmptyNinjaFile()
args.DelveListen = os.Getenv("SOONG_DELVE")
if args.DelveListen != "" {