Handle errors from RunBlueprint(). am: c357c81f48 am: 200e0a8672 am: e3816e619a

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2627181

Change-Id: I211870fafcef5ee347b89bedcebeb1930571f7da
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Lukacs T. Berki
2023-06-21 13:11:23 +00:00
committed by Automerger Merge Worker
2 changed files with 15 additions and 7 deletions

View File

@@ -124,7 +124,8 @@ func runMixedModeBuild(ctx *android.Context, extraNinjaDeps []string) string {
return ctx.Config().BazelContext.InvokeBazel(ctx.Config(), ctx) return ctx.Config().BazelContext.InvokeBazel(ctx.Config(), ctx)
} }
ctx.SetBeforePrepareBuildActionsHook(bazelHook) ctx.SetBeforePrepareBuildActionsHook(bazelHook)
ninjaDeps := bootstrap.RunBlueprint(cmdlineArgs.Args, bootstrap.DoEverything, ctx.Context, ctx.Config()) ninjaDeps, err := bootstrap.RunBlueprint(cmdlineArgs.Args, bootstrap.DoEverything, ctx.Context, ctx.Config())
maybeQuit(err, "")
ninjaDeps = append(ninjaDeps, extraNinjaDeps...) ninjaDeps = append(ninjaDeps, extraNinjaDeps...)
bazelPaths, err := readFileLines(ctx.Config().Getenv("BAZEL_DEPS_FILE")) bazelPaths, err := readFileLines(ctx.Config().Getenv("BAZEL_DEPS_FILE"))
@@ -185,10 +186,11 @@ func runApiBp2build(ctx *android.Context, extraNinjaDeps []string) string {
} }
// Run the loading and analysis phase // Run the loading and analysis phase
ninjaDeps := bootstrap.RunBlueprint(cmdlineArgs.Args, ninjaDeps, err := bootstrap.RunBlueprint(cmdlineArgs.Args,
bootstrap.StopBeforePrepareBuildActions, bootstrap.StopBeforePrepareBuildActions,
ctx.Context, ctx.Context,
ctx.Config()) ctx.Config())
maybeQuit(err, "")
ninjaDeps = append(ninjaDeps, extraNinjaDeps...) ninjaDeps = append(ninjaDeps, extraNinjaDeps...)
// Add the globbed dependencies // Add the globbed dependencies
@@ -218,7 +220,7 @@ func runApiBp2build(ctx *android.Context, extraNinjaDeps []string) string {
// } // }
// //
// If we don't generate f/b/api/BUILD, foo.contribution will be unbuildable. // If we don't generate f/b/api/BUILD, foo.contribution will be unbuildable.
err := createBazelWorkspace(codegenContext, absoluteApiBp2buildDir, true) err = createBazelWorkspace(codegenContext, absoluteApiBp2buildDir, true)
maybeQuit(err, "") maybeQuit(err, "")
ninjaDeps = append(ninjaDeps, codegenContext.AdditionalNinjaDeps()...) ninjaDeps = append(ninjaDeps, codegenContext.AdditionalNinjaDeps()...)
@@ -412,12 +414,13 @@ func writeBuildGlobsNinjaFile(ctx *android.Context) []string {
defer ctx.EventHandler.End("globs_ninja_file") defer ctx.EventHandler.End("globs_ninja_file")
globDir := bootstrap.GlobDirectory(ctx.Config().SoongOutDir(), globListDir) globDir := bootstrap.GlobDirectory(ctx.Config().SoongOutDir(), globListDir)
bootstrap.WriteBuildGlobsNinjaFile(&bootstrap.GlobSingleton{ err := bootstrap.WriteBuildGlobsNinjaFile(&bootstrap.GlobSingleton{
GlobLister: ctx.Globs, GlobLister: ctx.Globs,
GlobFile: globFile, GlobFile: globFile,
GlobDir: globDir, GlobDir: globDir,
SrcDir: ctx.SrcDir(), SrcDir: ctx.SrcDir(),
}, ctx.Config()) }, ctx.Config())
maybeQuit(err, "")
return bootstrap.GlobFileListFiles(globDir) return bootstrap.GlobFileListFiles(globDir)
} }
@@ -444,7 +447,8 @@ func runSoongOnlyBuild(ctx *android.Context, extraNinjaDeps []string) string {
stopBefore = bootstrap.DoEverything stopBefore = bootstrap.DoEverything
} }
ninjaDeps := bootstrap.RunBlueprint(cmdlineArgs.Args, stopBefore, ctx.Context, ctx.Config()) ninjaDeps, err := bootstrap.RunBlueprint(cmdlineArgs.Args, stopBefore, ctx.Context, ctx.Config())
maybeQuit(err, "")
ninjaDeps = append(ninjaDeps, extraNinjaDeps...) ninjaDeps = append(ninjaDeps, extraNinjaDeps...)
globListFiles := writeBuildGlobsNinjaFile(ctx) globListFiles := writeBuildGlobsNinjaFile(ctx)
@@ -803,8 +807,9 @@ func runBp2Build(ctx *android.Context, extraNinjaDeps []string, metricsDir strin
// from the regular Modules. // from the regular Modules.
ctx.EventHandler.Do("bootstrap", func() { ctx.EventHandler.Do("bootstrap", func() {
blueprintArgs := cmdlineArgs blueprintArgs := cmdlineArgs
bootstrapDeps := bootstrap.RunBlueprint(blueprintArgs.Args, bootstrapDeps, err := bootstrap.RunBlueprint(blueprintArgs.Args,
bootstrap.StopBeforePrepareBuildActions, ctx.Context, ctx.Config()) bootstrap.StopBeforePrepareBuildActions, ctx.Context, ctx.Config())
maybeQuit(err, "")
ninjaDeps = append(ninjaDeps, bootstrapDeps...) ninjaDeps = append(ninjaDeps, bootstrapDeps...)
}) })

View File

@@ -445,7 +445,10 @@ func bootstrapBlueprint(ctx Context, config Config) {
// since `bootstrap.ninja` is regenerated unconditionally, we ignore the deps, i.e. little // since `bootstrap.ninja` is regenerated unconditionally, we ignore the deps, i.e. little
// reason to write a `bootstrap.ninja.d` file // reason to write a `bootstrap.ninja.d` file
_ = bootstrap.RunBlueprint(blueprintArgs, bootstrap.DoEverything, blueprintCtx, blueprintConfig) _, err := bootstrap.RunBlueprint(blueprintArgs, bootstrap.DoEverything, blueprintCtx, blueprintConfig)
if err != nil {
ctx.Fatal(err)
}
} }
func checkEnvironmentFile(ctx Context, currentEnv *Environment, envFile string) { func checkEnvironmentFile(ctx Context, currentEnv *Environment, envFile string) {