Merge "Remove the dependency on a number of env vars."

This commit is contained in:
Lukács T. Berki 2021-04-13 06:06:00 +00:00 committed by Gerrit Code Review
commit ed0f6e846f
2 changed files with 9 additions and 20 deletions

View file

@ -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.

View file

@ -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