Loading android/config.go +0 −13 Original line number Diff line number Diff line Loading @@ -157,8 +157,6 @@ type config struct { captureBuild bool // true for tests, saves build parameters for each module ignoreEnvironment bool // true for tests, returns empty from all Getenv calls stopBefore bootstrap.StopBefore fs pathtools.FileSystem mockBpList string Loading Loading @@ -565,21 +563,10 @@ func (c *config) mockFileSystem(bp string, fs map[string][]byte) { c.mockBpList = blueprint.MockModuleListFile } func (c *config) StopBefore() bootstrap.StopBefore { return c.stopBefore } // SetStopBefore configures soong_build to exit earlier at a specific point. func (c *config) SetStopBefore(stopBefore bootstrap.StopBefore) { c.stopBefore = stopBefore } func (c *config) SetAllowMissingDependencies() { c.productVariables.Allow_missing_dependencies = proptools.BoolPtr(true) } var _ bootstrap.ConfigStopBefore = (*config)(nil) // BlueprintToolLocation returns the directory containing build system tools // from Blueprint, like soong_zip and merge_zips. func (c *config) HostToolDir() string { Loading cmd/soong_build/main.go +17 −17 Original line number Diff line number Diff line Loading @@ -101,12 +101,9 @@ func newNameResolver(config android.Config) *android.NameResolver { return android.NewNameResolver(exportFilter) } func newContext(configuration android.Config, prepareBuildActions bool) *android.Context { func newContext(configuration android.Config) *android.Context { ctx := android.NewContext(configuration) ctx.Register() if !prepareBuildActions { configuration.SetStopBefore(bootstrap.StopBeforePrepareBuildActions) } ctx.SetNameInterface(newNameResolver(configuration)) ctx.SetAllowMissingDependencies(configuration.AllowMissingDependencies()) return ctx Loading @@ -130,8 +127,7 @@ func runMixedModeBuild(configuration android.Config, firstCtx *android.Context, var firstArgs, secondArgs bootstrap.Args firstArgs = cmdlineArgs configuration.SetStopBefore(bootstrap.StopBeforeWriteNinja) bootstrap.RunBlueprint(firstArgs, firstCtx.Context, configuration) bootstrap.RunBlueprint(firstArgs, bootstrap.StopBeforeWriteNinja, firstCtx.Context, configuration) // Invoke bazel commands and save results for second pass. if err := configuration.BazelContext.InvokeBazel(); err != nil { Loading @@ -145,8 +141,8 @@ func runMixedModeBuild(configuration android.Config, firstCtx *android.Context, fmt.Fprintf(os.Stderr, "%s", err) os.Exit(1) } secondCtx := newContext(secondConfig, true) ninjaDeps := bootstrap.RunBlueprint(secondArgs, secondCtx.Context, secondConfig) secondCtx := newContext(secondConfig) ninjaDeps := bootstrap.RunBlueprint(secondArgs, bootstrap.DoEverything, secondCtx.Context, secondConfig) ninjaDeps = append(ninjaDeps, extraNinjaDeps...) globListFiles := writeBuildGlobsNinjaFile(secondCtx.SrcDir(), configuration.SoongOutDir(), secondCtx.Globs, configuration) Loading @@ -168,9 +164,9 @@ func runQueryView(queryviewDir, queryviewMarker string, configuration android.Co } func runSoongDocs(configuration android.Config) { ctx := newContext(configuration, false) ctx := newContext(configuration) soongDocsArgs := cmdlineArgs bootstrap.RunBlueprint(soongDocsArgs, ctx.Context, configuration) bootstrap.RunBlueprint(soongDocsArgs, bootstrap.StopBeforePrepareBuildActions, ctx.Context, configuration) if err := writeDocs(ctx, configuration, docFile); err != nil { fmt.Fprintf(os.Stderr, "%s", err) os.Exit(1) Loading Loading @@ -226,7 +222,14 @@ func doChosenActivity(configuration android.Config, extraNinjaDeps []string) str generateQueryView := bazelQueryViewDir != "" blueprintArgs := cmdlineArgs prepareBuildActions := !generateQueryView && moduleGraphFile == "" var stopBefore bootstrap.StopBefore if !generateQueryView && moduleGraphFile == "" { stopBefore = bootstrap.DoEverything } else { stopBefore = bootstrap.StopBeforePrepareBuildActions } if bazelConversionRequested { // Run the alternate pipeline of bp2build mutators and singleton to convert // Blueprint to BUILD files before everything else. Loading @@ -234,11 +237,11 @@ func doChosenActivity(configuration android.Config, extraNinjaDeps []string) str return bp2buildMarker } ctx := newContext(configuration, prepareBuildActions) ctx := newContext(configuration) if mixedModeBuild { runMixedModeBuild(configuration, ctx, extraNinjaDeps) } else { ninjaDeps := bootstrap.RunBlueprint(blueprintArgs, ctx.Context, configuration) ninjaDeps := bootstrap.RunBlueprint(blueprintArgs, stopBefore, ctx.Context, configuration) ninjaDeps = append(ninjaDeps, extraNinjaDeps...) globListFiles := writeBuildGlobsNinjaFile(ctx.SrcDir(), configuration.SoongOutDir(), ctx.Globs, configuration) Loading Loading @@ -479,14 +482,11 @@ func runBp2Build(configuration android.Config, extraNinjaDeps []string) { extraNinjaDeps = append(extraNinjaDeps, modulePaths...) // No need to generate Ninja build rules/statements from Modules and Singletons. configuration.SetStopBefore(bootstrap.StopBeforePrepareBuildActions) // Run the loading and analysis pipeline to prepare the graph of regular // Modules parsed from Android.bp files, and the BazelTargetModules mapped // from the regular Modules. blueprintArgs := cmdlineArgs ninjaDeps := bootstrap.RunBlueprint(blueprintArgs, bp2buildCtx.Context, configuration) ninjaDeps := bootstrap.RunBlueprint(blueprintArgs, bootstrap.StopBeforePrepareBuildActions, bp2buildCtx.Context, configuration) ninjaDeps = append(ninjaDeps, extraNinjaDeps...) globListFiles := writeBuildGlobsNinjaFile(bp2buildCtx.SrcDir(), configuration.SoongOutDir(), bp2buildCtx.Globs, configuration) Loading ui/build/soong.go +1 −1 Original line number Diff line number Diff line Loading @@ -263,7 +263,7 @@ func bootstrapBlueprint(ctx Context, config Config) { } args.EmptyNinjaFile = false bootstrapDeps := bootstrap.RunBlueprint(args, blueprintCtx, blueprintConfig) bootstrapDeps := bootstrap.RunBlueprint(args, bootstrap.DoEverything, blueprintCtx, blueprintConfig) err := deptools.WriteDepFile(bootstrapDepFile, args.OutFile, bootstrapDeps) if err != nil { ctx.Fatalf("Error writing depfile '%s': %s", bootstrapDepFile, err) Loading Loading
android/config.go +0 −13 Original line number Diff line number Diff line Loading @@ -157,8 +157,6 @@ type config struct { captureBuild bool // true for tests, saves build parameters for each module ignoreEnvironment bool // true for tests, returns empty from all Getenv calls stopBefore bootstrap.StopBefore fs pathtools.FileSystem mockBpList string Loading Loading @@ -565,21 +563,10 @@ func (c *config) mockFileSystem(bp string, fs map[string][]byte) { c.mockBpList = blueprint.MockModuleListFile } func (c *config) StopBefore() bootstrap.StopBefore { return c.stopBefore } // SetStopBefore configures soong_build to exit earlier at a specific point. func (c *config) SetStopBefore(stopBefore bootstrap.StopBefore) { c.stopBefore = stopBefore } func (c *config) SetAllowMissingDependencies() { c.productVariables.Allow_missing_dependencies = proptools.BoolPtr(true) } var _ bootstrap.ConfigStopBefore = (*config)(nil) // BlueprintToolLocation returns the directory containing build system tools // from Blueprint, like soong_zip and merge_zips. func (c *config) HostToolDir() string { Loading
cmd/soong_build/main.go +17 −17 Original line number Diff line number Diff line Loading @@ -101,12 +101,9 @@ func newNameResolver(config android.Config) *android.NameResolver { return android.NewNameResolver(exportFilter) } func newContext(configuration android.Config, prepareBuildActions bool) *android.Context { func newContext(configuration android.Config) *android.Context { ctx := android.NewContext(configuration) ctx.Register() if !prepareBuildActions { configuration.SetStopBefore(bootstrap.StopBeforePrepareBuildActions) } ctx.SetNameInterface(newNameResolver(configuration)) ctx.SetAllowMissingDependencies(configuration.AllowMissingDependencies()) return ctx Loading @@ -130,8 +127,7 @@ func runMixedModeBuild(configuration android.Config, firstCtx *android.Context, var firstArgs, secondArgs bootstrap.Args firstArgs = cmdlineArgs configuration.SetStopBefore(bootstrap.StopBeforeWriteNinja) bootstrap.RunBlueprint(firstArgs, firstCtx.Context, configuration) bootstrap.RunBlueprint(firstArgs, bootstrap.StopBeforeWriteNinja, firstCtx.Context, configuration) // Invoke bazel commands and save results for second pass. if err := configuration.BazelContext.InvokeBazel(); err != nil { Loading @@ -145,8 +141,8 @@ func runMixedModeBuild(configuration android.Config, firstCtx *android.Context, fmt.Fprintf(os.Stderr, "%s", err) os.Exit(1) } secondCtx := newContext(secondConfig, true) ninjaDeps := bootstrap.RunBlueprint(secondArgs, secondCtx.Context, secondConfig) secondCtx := newContext(secondConfig) ninjaDeps := bootstrap.RunBlueprint(secondArgs, bootstrap.DoEverything, secondCtx.Context, secondConfig) ninjaDeps = append(ninjaDeps, extraNinjaDeps...) globListFiles := writeBuildGlobsNinjaFile(secondCtx.SrcDir(), configuration.SoongOutDir(), secondCtx.Globs, configuration) Loading @@ -168,9 +164,9 @@ func runQueryView(queryviewDir, queryviewMarker string, configuration android.Co } func runSoongDocs(configuration android.Config) { ctx := newContext(configuration, false) ctx := newContext(configuration) soongDocsArgs := cmdlineArgs bootstrap.RunBlueprint(soongDocsArgs, ctx.Context, configuration) bootstrap.RunBlueprint(soongDocsArgs, bootstrap.StopBeforePrepareBuildActions, ctx.Context, configuration) if err := writeDocs(ctx, configuration, docFile); err != nil { fmt.Fprintf(os.Stderr, "%s", err) os.Exit(1) Loading Loading @@ -226,7 +222,14 @@ func doChosenActivity(configuration android.Config, extraNinjaDeps []string) str generateQueryView := bazelQueryViewDir != "" blueprintArgs := cmdlineArgs prepareBuildActions := !generateQueryView && moduleGraphFile == "" var stopBefore bootstrap.StopBefore if !generateQueryView && moduleGraphFile == "" { stopBefore = bootstrap.DoEverything } else { stopBefore = bootstrap.StopBeforePrepareBuildActions } if bazelConversionRequested { // Run the alternate pipeline of bp2build mutators and singleton to convert // Blueprint to BUILD files before everything else. Loading @@ -234,11 +237,11 @@ func doChosenActivity(configuration android.Config, extraNinjaDeps []string) str return bp2buildMarker } ctx := newContext(configuration, prepareBuildActions) ctx := newContext(configuration) if mixedModeBuild { runMixedModeBuild(configuration, ctx, extraNinjaDeps) } else { ninjaDeps := bootstrap.RunBlueprint(blueprintArgs, ctx.Context, configuration) ninjaDeps := bootstrap.RunBlueprint(blueprintArgs, stopBefore, ctx.Context, configuration) ninjaDeps = append(ninjaDeps, extraNinjaDeps...) globListFiles := writeBuildGlobsNinjaFile(ctx.SrcDir(), configuration.SoongOutDir(), ctx.Globs, configuration) Loading Loading @@ -479,14 +482,11 @@ func runBp2Build(configuration android.Config, extraNinjaDeps []string) { extraNinjaDeps = append(extraNinjaDeps, modulePaths...) // No need to generate Ninja build rules/statements from Modules and Singletons. configuration.SetStopBefore(bootstrap.StopBeforePrepareBuildActions) // Run the loading and analysis pipeline to prepare the graph of regular // Modules parsed from Android.bp files, and the BazelTargetModules mapped // from the regular Modules. blueprintArgs := cmdlineArgs ninjaDeps := bootstrap.RunBlueprint(blueprintArgs, bp2buildCtx.Context, configuration) ninjaDeps := bootstrap.RunBlueprint(blueprintArgs, bootstrap.StopBeforePrepareBuildActions, bp2buildCtx.Context, configuration) ninjaDeps = append(ninjaDeps, extraNinjaDeps...) globListFiles := writeBuildGlobsNinjaFile(bp2buildCtx.SrcDir(), configuration.SoongOutDir(), bp2buildCtx.Globs, configuration) Loading
ui/build/soong.go +1 −1 Original line number Diff line number Diff line Loading @@ -263,7 +263,7 @@ func bootstrapBlueprint(ctx Context, config Config) { } args.EmptyNinjaFile = false bootstrapDeps := bootstrap.RunBlueprint(args, blueprintCtx, blueprintConfig) bootstrapDeps := bootstrap.RunBlueprint(args, bootstrap.DoEverything, blueprintCtx, blueprintConfig) err := deptools.WriteDepFile(bootstrapDepFile, args.OutFile, bootstrapDeps) if err != nil { ctx.Fatalf("Error writing depfile '%s': %s", bootstrapDepFile, err) Loading