diff options
author | 2021-04-13 06:06:00 +0000 | |
---|---|---|
committer | 2021-04-13 06:06:00 +0000 | |
commit | ed0f6e846fcd53aafb51c62072bfca6378b87aac (patch) | |
tree | 1fb8e7e0071e11be29fb9d4d117d623d558be163 | |
parent | d4a58377fd7df6fa0a755187a8e666caa6d7d3b5 (diff) | |
parent | 745380ce2328e21e1e1cda1361a2675a5b17e898 (diff) |
Merge "Remove the dependency on a number of env vars."
-rw-r--r-- | cmd/soong_build/main.go | 12 | ||||
-rw-r--r-- | ui/build/soong.go | 17 |
2 files changed, 9 insertions, 20 deletions
diff --git a/cmd/soong_build/main.go b/cmd/soong_build/main.go index 1863ece94..431d6214f 100644 --- a/cmd/soong_build/main.go +++ b/cmd/soong_build/main.go @@ -75,8 +75,8 @@ func newContext(configuration android.Config, prepareBuildActions bool) *android return ctx } -func newConfig(srcDir string) android.Config { - configuration, err := android.NewConfig(srcDir, bootstrap.CmdlineBuildDir(), bootstrap.CmdlineModuleListFile()) +func newConfig(srcDir, outDir string) android.Config { + configuration, err := android.NewConfig(srcDir, outDir, bootstrap.CmdlineModuleListFile()) if err != nil { fmt.Fprintf(os.Stderr, "%s", err) os.Exit(1) @@ -127,7 +127,7 @@ func runSoongDocs(configuration android.Config, extraNinjaDeps []string) { } func writeMetrics(configuration android.Config) { - metricsFile := filepath.Join(bootstrap.CmdlineBuildDir(), "soong_build_metrics.pb") + metricsFile := filepath.Join(configuration.BuildDir(), "soong_build_metrics.pb") err := android.WriteMetrics(configuration, metricsFile) if err != nil { fmt.Fprintf(os.Stderr, "error writing soong_build metrics %s: %s", metricsFile, err) @@ -193,7 +193,7 @@ func main() { usedVariablesFile := shared.JoinPath(outDir, "soong.environment.used") // The top-level Blueprints file is passed as the first argument. srcDir := filepath.Dir(flag.Arg(0)) - configuration := newConfig(srcDir) + configuration := newConfig(srcDir, outDir) extraNinjaDeps := []string{ configuration.ProductVariablesFileName, shared.JoinPath(outDir, "soong.environment.used"), @@ -203,10 +203,6 @@ func main() { configuration.SetAllowMissingDependencies() } - // These two are here so that we restart a non-debugged soong_build when the - // user sets SOONG_DELVE the first time. - configuration.Getenv("SOONG_DELVE") - configuration.Getenv("SOONG_DELVE_PATH") if shared.IsDebugging() { // Add a non-existent file to the dependencies so that soong_build will rerun when the debugger is // enabled even if it completed successfully. diff --git a/ui/build/soong.go b/ui/build/soong.go index 9afcb88ca..0089075a4 100644 --- a/ui/build/soong.go +++ b/ui/build/soong.go @@ -104,6 +104,11 @@ func bootstrapBlueprint(ctx Context, config Config) { args.GlobFile = shared.JoinPath(config.SoongOutDir(), ".bootstrap/soong-build-globs.ninja") args.GeneratingPrimaryBuilder = true + args.DelveListen = os.Getenv("SOONG_DELVE") + if args.DelveListen != "" { + args.DelvePath = shared.ResolveDelveBinary() + } + blueprintCtx := blueprint.NewContext() blueprintCtx.SetIgnoreUnknownModuleTypes(true) blueprintConfig := BlueprintConfig{ @@ -138,11 +143,6 @@ func runSoong(ctx Context, config Config) { soongBuildEnv := config.Environment().Copy() soongBuildEnv.Set("TOP", os.Getenv("TOP")) - // These two dependencies are read from bootstrap.go, but also need to be here - // so that soong_build can declare a dependency on them - soongBuildEnv.Set("SOONG_DELVE", os.Getenv("SOONG_DELVE")) - soongBuildEnv.Set("SOONG_DELVE_PATH", os.Getenv("SOONG_DELVE_PATH")) - soongBuildEnv.Set("SOONG_OUTDIR", config.SoongOutDir()) // For Bazel mixed builds. soongBuildEnv.Set("BAZEL_PATH", "./tools/bazel") soongBuildEnv.Set("BAZEL_HOME", filepath.Join(config.BazelOutDir(), "bazelhome")) @@ -215,13 +215,6 @@ func runSoong(ctx Context, config Config) { // This is currently how the command line to invoke soong_build finds the // root of the source tree and the output root ninjaEnv.Set("TOP", os.Getenv("TOP")) - ninjaEnv.Set("SOONG_OUTDIR", config.SoongOutDir()) - - // For debugging - if os.Getenv("SOONG_DELVE") != "" { - ninjaEnv.Set("SOONG_DELVE", os.Getenv("SOONG_DELVE")) - ninjaEnv.Set("SOONG_DELVE_PATH", shared.ResolveDelveBinary()) - } cmd.Environment = &ninjaEnv cmd.Sandbox = soongSandbox |