Refactor 'in_make' to mean Kati is not skipped.
In Nougat and before, Make wrote a marker file to indicate that soong_build was invoked from Make to change certain behaviors of Soong at build time. https://cs.android.com/android/platform/superproject/+/android-7.1.2_r36:build/core/soong.mk;l=70-73;drc=ae18638b0406ad107b0882a02a13cdd8b92f2a4e Things have changed, and now soong_build is invoked from soong_ui, which supports a --skip-make configuration flag: https://cs.android.com/android/platform/superproject/+/master:build/soong/ui/build/build.go;l=31-33;drc=680387bf1d3ce7cbc77f535be7c42cec411b1687 Thus, the various remnants of 'EmbeddedInMake' and 'inMake' configuration are misleading, since soong_build is no longer invoked from Make. This CL refactors all instances to actually mean that Kati is enabled (not skipped with --skip-make), and will run after soong_build finishes, so Kati-specific behavior like the AndroidMk singleton should run. Test: TH presubmit Change-Id: I576ab8e54f99f5c8ddf9feaf9a828019b279e266
This commit is contained in:
@@ -23,13 +23,20 @@ import (
|
||||
"android/soong/ui/metrics"
|
||||
)
|
||||
|
||||
// Ensures the out directory exists, and has the proper files to prevent kati
|
||||
// from recursing into it.
|
||||
// SetupOutDir ensures the out directory exists, and has the proper files to
|
||||
// prevent kati from recursing into it.
|
||||
func SetupOutDir(ctx Context, config Config) {
|
||||
ensureEmptyFileExists(ctx, filepath.Join(config.OutDir(), "Android.mk"))
|
||||
ensureEmptyFileExists(ctx, filepath.Join(config.OutDir(), "CleanSpec.mk"))
|
||||
if !config.SkipMake() {
|
||||
ensureEmptyFileExists(ctx, filepath.Join(config.SoongOutDir(), ".soong.in_make"))
|
||||
// Run soong_build with Kati for a hybrid build, e.g. running the
|
||||
// AndroidMk singleton and postinstall commands. Communicate this to
|
||||
// soong_build by writing an empty .soong.kati_enabled marker file in the
|
||||
// soong_build output directory for the soong_build primary builder to
|
||||
// know if the user wants to run Kati after.
|
||||
//
|
||||
// This does not preclude running Kati for *product configuration purposes*.
|
||||
ensureEmptyFileExists(ctx, filepath.Join(config.SoongOutDir(), ".soong.kati_enabled"))
|
||||
}
|
||||
// The ninja_build file is used by our buildbots to understand that the output
|
||||
// can be parsed as ninja output.
|
||||
|
Reference in New Issue
Block a user