diff --git a/android/bazel_handler.go b/android/bazel_handler.go index 312f00919..40a5a7378 100644 --- a/android/bazel_handler.go +++ b/android/bazel_handler.go @@ -106,7 +106,7 @@ type bazelPaths struct { bazelPath string outputBase string workspaceDir string - buildDir string + soongOutDir string metricsDir string } @@ -254,7 +254,7 @@ func NewBazelContext(c *config) (BazelContext, error) { func bazelPathsFromConfig(c *config) (*bazelPaths, error) { p := bazelPaths{ - buildDir: c.buildDir, + soongOutDir: c.soongOutDir, } missingEnvVars := []string{} if len(c.Getenv("BAZEL_HOME")) > 1 { @@ -382,7 +382,7 @@ func (r *builtinBazelRunner) issueBazelCommand(paths *bazelPaths, runName bazel. bazelCmd.Env = append(os.Environ(), "HOME="+paths.homeDir, pwdPrefix(), - "BUILD_DIR="+absolutePath(paths.buildDir), + "BUILD_DIR="+absolutePath(paths.soongOutDir), // Make OUT_DIR absolute here so tools/bazel.sh uses the correct // OUT_DIR at /out, instead of /out/soong/workspace/out. "OUT_DIR="+absolutePath(paths.outDir()), @@ -599,24 +599,24 @@ def format(target): // Returns a path containing build-related metadata required for interfacing // with Bazel. Example: out/soong/bazel. func (p *bazelPaths) intermediatesDir() string { - return filepath.Join(p.buildDir, "bazel") + return filepath.Join(p.soongOutDir, "bazel") } // Returns the path where the contents of the @soong_injection repository live. // It is used by Soong to tell Bazel things it cannot over the command line. func (p *bazelPaths) injectedFilesDir() string { - return filepath.Join(p.buildDir, bazel.SoongInjectionDirName) + return filepath.Join(p.soongOutDir, bazel.SoongInjectionDirName) } // Returns the path of the synthetic Bazel workspace that contains a symlink // forest composed the whole source tree and BUILD files generated by bp2build. func (p *bazelPaths) syntheticWorkspaceDir() string { - return filepath.Join(p.buildDir, "workspace") + return filepath.Join(p.soongOutDir, "workspace") } // Returns the path to the top level out dir ($OUT_DIR). func (p *bazelPaths) outDir() string { - return filepath.Dir(p.buildDir) + return filepath.Dir(p.soongOutDir) } // Issues commands to Bazel to receive results for all cquery requests diff --git a/android/bazel_handler_test.go b/android/bazel_handler_test.go index f1fabecad..557faea21 100644 --- a/android/bazel_handler_test.go +++ b/android/bazel_handler_test.go @@ -101,7 +101,7 @@ func TestInvokeBazelPopulatesBuildStatements(t *testing.T) { func testBazelContext(t *testing.T, bazelCommandResults map[bazelCommand]string) (*bazelContext, string) { t.Helper() p := bazelPaths{ - buildDir: t.TempDir(), + soongOutDir: t.TempDir(), outputBase: "outputbase", workspaceDir: "workspace_dir", } @@ -114,5 +114,5 @@ func testBazelContext(t *testing.T, bazelCommandResults map[bazelCommand]string) bazelRunner: runner, paths: &p, requests: map[cqueryKey]bool{}, - }, p.buildDir + }, p.soongOutDir } diff --git a/android/bazel_paths.go b/android/bazel_paths.go index c09d218f4..a4bd2efcf 100644 --- a/android/bazel_paths.go +++ b/android/bazel_paths.go @@ -414,7 +414,7 @@ func PathForBazelOut(ctx PathContext, paths ...string) BazelOutPath { } outputPath := OutputPath{basePath{"", ""}, - ctx.Config().buildDir, + ctx.Config().soongOutDir, ctx.Config().BazelContext.OutputBase()} return BazelOutPath{ diff --git a/android/config.go b/android/config.go index 35403b831..f13697726 100644 --- a/android/config.go +++ b/android/config.go @@ -67,12 +67,12 @@ type Config struct { } // BuildDir returns the build output directory for the configuration. -func (c Config) BuildDir() string { - return c.buildDir +func (c Config) SoongOutDir() string { + return c.soongOutDir } -func (c Config) NinjaBuildDir() string { - return c.buildDir +func (c Config) OutDir() string { + return c.soongOutDir } func (c Config) DebugCompilation() bool { @@ -122,7 +122,7 @@ type config struct { deviceConfig *deviceConfig - buildDir string // the path of the build output directory + soongOutDir string // the path of the build output directory moduleListFile string // the path to the file which lists blueprint files to parse. env map[string]string @@ -283,11 +283,11 @@ func saveToBazelConfigFile(config *productVariables, outDir string) error { // NullConfig returns a mostly empty Config for use by standalone tools like dexpreopt_gen that // use the android package. -func NullConfig(buildDir string) Config { +func NullConfig(soongOutDir string) Config { return Config{ config: &config{ - buildDir: buildDir, - fs: pathtools.OsFs, + soongOutDir: soongOutDir, + fs: pathtools.OsFs, }, } } @@ -319,7 +319,7 @@ func TestConfig(buildDir string, env map[string]string, bp string, fs map[string ShippingApiLevel: stringPtr("30"), }, - buildDir: buildDir, + soongOutDir: buildDir, captureBuild: true, env: envCopy, @@ -397,7 +397,7 @@ func TestArchConfig(buildDir string, env map[string]string, bp string, fs map[st // multiple runs in the same program execution is carried over (such as Bazel // context or environment deps). func ConfigForAdditionalRun(c Config) (Config, error) { - newConfig, err := NewConfig(c.buildDir, c.moduleListFile, c.env) + newConfig, err := NewConfig(c.soongOutDir, c.moduleListFile, c.env) if err != nil { return Config{}, err } @@ -408,14 +408,14 @@ func ConfigForAdditionalRun(c Config) (Config, error) { // NewConfig creates a new Config object. The srcDir argument specifies the path // to the root source directory. It also loads the config file, if found. -func NewConfig(buildDir string, moduleListFile string, availableEnv map[string]string) (Config, error) { +func NewConfig(soongOutDir string, moduleListFile string, availableEnv map[string]string) (Config, error) { // Make a config with default options. config := &config{ - ProductVariablesFileName: filepath.Join(buildDir, productVariablesFileName), + ProductVariablesFileName: filepath.Join(soongOutDir, productVariablesFileName), env: availableEnv, - buildDir: buildDir, + soongOutDir: soongOutDir, multilibConflicts: make(map[ArchType]bool), moduleListFile: moduleListFile, @@ -428,7 +428,7 @@ func NewConfig(buildDir string, moduleListFile string, availableEnv map[string]s // Soundness check of the build and source directories. This won't catch strange // configurations with symlinks, but at least checks the obvious case. - absBuildDir, err := filepath.Abs(buildDir) + absBuildDir, err := filepath.Abs(soongOutDir) if err != nil { return Config{}, err } @@ -448,7 +448,7 @@ func NewConfig(buildDir string, moduleListFile string, availableEnv map[string]s return Config{}, err } - KatiEnabledMarkerFile := filepath.Join(buildDir, ".soong.kati_enabled") + KatiEnabledMarkerFile := filepath.Join(soongOutDir, ".soong.kati_enabled") if _, err := os.Stat(absolutePath(KatiEnabledMarkerFile)); err == nil { config.katiEnabled = true } @@ -556,7 +556,7 @@ var _ bootstrap.ConfigStopBefore = (*config)(nil) // BlueprintToolLocation returns the directory containing build system tools // from Blueprint, like soong_zip and merge_zips. func (c *config) BlueprintToolLocation() string { - return filepath.Join(c.buildDir, "host", c.PrebuiltOS(), "bin") + return filepath.Join(c.soongOutDir, "host", c.PrebuiltOS(), "bin") } var _ bootstrap.ConfigBlueprintToolLocation = (*config)(nil) diff --git a/android/fixture.go b/android/fixture.go index fd051a7a4..728f0318f 100644 --- a/android/fixture.go +++ b/android/fixture.go @@ -834,7 +834,7 @@ func (f *fixture) outputDebugState() { func (r *TestResult) NormalizePathForTesting(path Path) string { pathContext := PathContextForTesting(r.Config) pathAsString := path.String() - if rel, isRel := MaybeRel(pathContext, r.Config.BuildDir(), pathAsString); isRel { + if rel, isRel := MaybeRel(pathContext, r.Config.SoongOutDir(), pathAsString); isRel { return rel } return pathAsString diff --git a/android/paths.go b/android/paths.go index 71caaab83..a733558ba 100644 --- a/android/paths.go +++ b/android/paths.go @@ -186,13 +186,13 @@ type Path interface { // A standard build has the following structure: // ../top/ // out/ - make install files go here. - // out/soong - this is the buildDir passed to NewTestConfig() + // out/soong - this is the soongOutDir passed to NewTestConfig() // ... - the source files // // This function converts a path so that it appears relative to the ../top/ directory, i.e. - // * Make install paths, which have the pattern "buildDir/../" are converted into the top + // * Make install paths, which have the pattern "soongOutDir/../" are converted into the top // relative path "out/" - // * Soong install paths and other writable paths, which have the pattern "buildDir/" are + // * Soong install paths and other writable paths, which have the pattern "soongOutDir/" are // converted into the top relative path "out/soong/". // * Source paths are already relative to the top. // * Phony paths are not relative to anything. @@ -211,7 +211,7 @@ type WritablePath interface { Path // return the path to the build directory. - getBuildDir() string + getSoongOutDir() string // the writablePath method doesn't directly do anything, // but it allows a struct to distinguish between whether or not it implements the WritablePath interface @@ -992,7 +992,7 @@ func safePathForSource(ctx PathContext, pathComponents ...string) (SourcePath, e } // absolute path already checked by validateSafePath - if strings.HasPrefix(ret.String(), ctx.Config().buildDir) { + if strings.HasPrefix(ret.String(), ctx.Config().soongOutDir) { return ret, fmt.Errorf("source path %q is in output", ret.String()) } @@ -1008,7 +1008,7 @@ func pathForSource(ctx PathContext, pathComponents ...string) (SourcePath, error } // absolute path already checked by validatePath - if strings.HasPrefix(ret.String(), ctx.Config().buildDir) { + if strings.HasPrefix(ret.String(), ctx.Config().soongOutDir) { return ret, fmt.Errorf("source path %q is in output", ret.String()) } @@ -1151,7 +1151,7 @@ type OutputPath struct { basePath // The soong build directory, i.e. Config.BuildDir() - buildDir string + soongOutDir string fullPath string } @@ -1167,8 +1167,8 @@ func (p OutputPath) WithoutRel() OutputPath { return p } -func (p OutputPath) getBuildDir() string { - return p.buildDir +func (p OutputPath) getSoongOutDir() string { + return p.soongOutDir } func (p OutputPath) RelativeToTop() Path { @@ -1176,8 +1176,8 @@ func (p OutputPath) RelativeToTop() Path { } func (p OutputPath) outputPathRelativeToTop() OutputPath { - p.fullPath = StringPathRelativeToTop(p.buildDir, p.fullPath) - p.buildDir = OutSoongDir + p.fullPath = StringPathRelativeToTop(p.soongOutDir, p.fullPath) + p.soongOutDir = OutSoongDir return p } @@ -1218,12 +1218,12 @@ func PathForOutput(ctx PathContext, pathComponents ...string) OutputPath { if err != nil { reportPathError(ctx, err) } - fullPath := filepath.Join(ctx.Config().buildDir, path) + fullPath := filepath.Join(ctx.Config().soongOutDir, path) path = fullPath[len(fullPath)-len(path):] - return OutputPath{basePath{path, ""}, ctx.Config().buildDir, fullPath} + return OutputPath{basePath{path, ""}, ctx.Config().soongOutDir, fullPath} } -// PathsForOutput returns Paths rooted from buildDir +// PathsForOutput returns Paths rooted from soongOutDir func PathsForOutput(ctx PathContext, paths []string) WritablePaths { ret := make(WritablePaths, len(paths)) for i, path := range paths { @@ -1545,7 +1545,7 @@ type InstallPath struct { basePath // The soong build directory, i.e. Config.BuildDir() - buildDir string + soongOutDir string // partitionDir is the part of the InstallPath that is automatically determined according to the context. // For example, it is host/- for host modules, and target/product// for device modules. @@ -1565,12 +1565,12 @@ func ensureTestOnly() { func (p InstallPath) RelativeToTop() Path { ensureTestOnly() - p.buildDir = OutSoongDir + p.soongOutDir = OutSoongDir return p } -func (p InstallPath) getBuildDir() string { - return p.buildDir +func (p InstallPath) getSoongOutDir() string { + return p.soongOutDir } func (p InstallPath) ReplaceExtension(ctx PathContext, ext string) OutputPath { @@ -1585,9 +1585,9 @@ func (p InstallPath) writablePath() {} func (p InstallPath) String() string { if p.makePath { // Make path starts with out/ instead of out/soong. - return filepath.Join(p.buildDir, "../", p.path) + return filepath.Join(p.soongOutDir, "../", p.path) } else { - return filepath.Join(p.buildDir, p.path) + return filepath.Join(p.soongOutDir, p.path) } } @@ -1596,9 +1596,9 @@ func (p InstallPath) String() string { // The ./soong is dropped if the install path is for Make. func (p InstallPath) PartitionDir() string { if p.makePath { - return filepath.Join(p.buildDir, "../", p.partitionDir) + return filepath.Join(p.soongOutDir, "../", p.partitionDir) } else { - return filepath.Join(p.buildDir, p.partitionDir) + return filepath.Join(p.soongOutDir, p.partitionDir) } } @@ -1694,7 +1694,7 @@ func pathForInstall(ctx PathContext, os OsType, arch ArchType, partition string, base := InstallPath{ basePath: basePath{partionPath, ""}, - buildDir: ctx.Config().buildDir, + soongOutDir: ctx.Config().soongOutDir, partitionDir: partionPath, makePath: false, } @@ -1705,7 +1705,7 @@ func pathForInstall(ctx PathContext, os OsType, arch ArchType, partition string, func pathForNdkOrSdkInstall(ctx PathContext, prefix string, paths []string) InstallPath { base := InstallPath{ basePath: basePath{prefix, ""}, - buildDir: ctx.Config().buildDir, + soongOutDir: ctx.Config().soongOutDir, partitionDir: prefix, makePath: false, } @@ -1851,7 +1851,7 @@ type PhonyPath struct { func (p PhonyPath) writablePath() {} -func (p PhonyPath) getBuildDir() string { +func (p PhonyPath) getSoongOutDir() string { // A phone path cannot contain any / so cannot be relative to the build directory. return "" } diff --git a/android/singleton.go b/android/singleton.go index bb6614dad..7ff96c9d5 100644 --- a/android/singleton.go +++ b/android/singleton.go @@ -54,10 +54,10 @@ type SingletonContext interface { RequireNinjaVersion(major, minor, micro int) - // SetNinjaBuildDir sets the value of the top-level "builddir" Ninja variable + // SetOutDir sets the value of the top-level "builddir" Ninja variable // that controls where Ninja stores its build log files. This value can be // set at most one time for a single build, later calls are ignored. - SetNinjaBuildDir(pctx PackageContext, value string) + SetOutDir(pctx PackageContext, value string) // Eval takes a string with embedded ninja variables, and returns a string // with all of the variables recursively expanded. Any variables references @@ -180,8 +180,8 @@ func (s *singletonContextAdaptor) Phony(name string, deps ...Path) { addPhony(s.Config(), name, deps...) } -func (s *singletonContextAdaptor) SetNinjaBuildDir(pctx PackageContext, value string) { - s.SingletonContext.SetNinjaBuildDir(pctx.PackageContext, value) +func (s *singletonContextAdaptor) SetOutDir(pctx PackageContext, value string) { + s.SingletonContext.SetOutDir(pctx.PackageContext, value) } func (s *singletonContextAdaptor) Eval(pctx PackageContext, ninjaStr string) (string, error) { diff --git a/android/test_asserts.go b/android/test_asserts.go index edeb40889..064f6562b 100644 --- a/android/test_asserts.go +++ b/android/test_asserts.go @@ -77,14 +77,14 @@ func AssertPathsRelativeToTopEquals(t *testing.T, message string, expected []str // StringPathRelativeToTop on the actual string path. func AssertStringPathRelativeToTopEquals(t *testing.T, message string, config Config, expected string, actual string) { t.Helper() - AssertStringEquals(t, message, expected, StringPathRelativeToTop(config.buildDir, actual)) + AssertStringEquals(t, message, expected, StringPathRelativeToTop(config.soongOutDir, actual)) } // AssertStringPathsRelativeToTopEquals checks if the expected value is equal to the result of // calling StringPathsRelativeToTop on the actual string paths. func AssertStringPathsRelativeToTopEquals(t *testing.T, message string, config Config, expected []string, actual []string) { t.Helper() - AssertDeepEquals(t, message, expected, StringPathsRelativeToTop(config.buildDir, actual)) + AssertDeepEquals(t, message, expected, StringPathsRelativeToTop(config.soongOutDir, actual)) } // AssertErrorMessageEquals checks if the error is not nil and has the expected message. If it does diff --git a/android/testing.go b/android/testing.go index 6ba8e3cde..e25e5c5f5 100644 --- a/android/testing.go +++ b/android/testing.go @@ -664,15 +664,15 @@ func newBaseTestingComponent(config Config, provider testBuildProvider) baseTest // containing at most one instance of the temporary build directory at the start of the path while // this assumes that there can be any number at any position. func normalizeStringRelativeToTop(config Config, s string) string { - // The buildDir usually looks something like: /tmp/testFoo2345/001 + // The soongOutDir usually looks something like: /tmp/testFoo2345/001 // - // Replace any usage of the buildDir with out/soong, e.g. replace "/tmp/testFoo2345/001" with + // Replace any usage of the soongOutDir with out/soong, e.g. replace "/tmp/testFoo2345/001" with // "out/soong". - outSoongDir := filepath.Clean(config.buildDir) + outSoongDir := filepath.Clean(config.soongOutDir) re := regexp.MustCompile(`\Q` + outSoongDir + `\E\b`) s = re.ReplaceAllString(s, "out/soong") - // Replace any usage of the buildDir/.. with out, e.g. replace "/tmp/testFoo2345" with + // Replace any usage of the soongOutDir/.. with out, e.g. replace "/tmp/testFoo2345" with // "out". This must come after the previous replacement otherwise this would replace // "/tmp/testFoo2345/001" with "out/001" instead of "out/soong". outDir := filepath.Dir(outSoongDir) @@ -991,7 +991,7 @@ func NormalizePathForTesting(path Path) string { } p := path.String() if w, ok := path.(WritablePath); ok { - rel, err := filepath.Rel(w.getBuildDir(), p) + rel, err := filepath.Rel(w.getSoongOutDir(), p) if err != nil { panic(err) } diff --git a/android/writedocs.go b/android/writedocs.go index 67b9aa3ad..c380a3d84 100644 --- a/android/writedocs.go +++ b/android/writedocs.go @@ -34,12 +34,12 @@ func DocsSingleton() Singleton { type docsSingleton struct{} func primaryBuilderPath(ctx SingletonContext) Path { - buildDir := absolutePath(ctx.Config().BuildDir()) + soongOutDir := absolutePath(ctx.Config().SoongOutDir()) binary := absolutePath(os.Args[0]) - primaryBuilder, err := filepath.Rel(buildDir, binary) + primaryBuilder, err := filepath.Rel(soongOutDir, binary) if err != nil { ctx.Errorf("path to primary builder %q is not in build dir %q (%q)", - os.Args[0], ctx.Config().BuildDir(), err) + os.Args[0], ctx.Config().SoongOutDir(), err) } return PathForOutput(ctx, primaryBuilder) diff --git a/apex/apex_test.go b/apex/apex_test.go index 06b5b12a0..b9c7c86a2 100644 --- a/apex/apex_test.go +++ b/apex/apex_test.go @@ -4741,7 +4741,7 @@ func TestBootDexJarsFromSourcesAndPrebuilts(t *testing.T) { } } if !foundLibfooJar { - t.Errorf("Rule for libfoo.jar missing in dex_bootjars singleton outputs %q", android.StringPathsRelativeToTop(ctx.Config().BuildDir(), s.AllOutputs())) + t.Errorf("Rule for libfoo.jar missing in dex_bootjars singleton outputs %q", android.StringPathsRelativeToTop(ctx.Config().SoongOutDir(), s.AllOutputs())) } } diff --git a/cmd/soong_build/main.go b/cmd/soong_build/main.go index 8aea037d9..cff65f92e 100644 --- a/cmd/soong_build/main.go +++ b/cmd/soong_build/main.go @@ -146,7 +146,7 @@ func runMixedModeBuild(configuration android.Config, firstCtx *android.Context, ninjaDeps := bootstrap.RunBlueprint(secondArgs, secondCtx.Context, secondConfig) ninjaDeps = append(ninjaDeps, extraNinjaDeps...) - globListFiles := writeBuildGlobsNinjaFile(secondCtx.SrcDir(), configuration.BuildDir(), secondCtx.Globs, configuration) + globListFiles := writeBuildGlobsNinjaFile(secondCtx.SrcDir(), configuration.SoongOutDir(), secondCtx.Globs, configuration) ninjaDeps = append(ninjaDeps, globListFiles...) err = deptools.WriteDepFile(shared.JoinPath(topDir, secondArgs.DepFile), secondArgs.OutFile, ninjaDeps) @@ -177,7 +177,7 @@ func runSoongDocs(configuration android.Config) { } func writeMetrics(configuration android.Config) { - metricsFile := filepath.Join(configuration.BuildDir(), "soong_build_metrics.pb") + metricsFile := filepath.Join(configuration.SoongOutDir(), "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) @@ -194,7 +194,7 @@ func writeJsonModuleGraph(configuration android.Config, ctx *android.Context, pa defer f.Close() ctx.Context.PrintJSONGraph(f) - writeFakeNinjaFile(extraNinjaDeps, configuration.BuildDir()) + writeFakeNinjaFile(extraNinjaDeps, configuration.SoongOutDir()) } func writeBuildGlobsNinjaFile(srcDir, buildDir string, globs func() pathtools.MultipleGlobResults, config interface{}) []string { @@ -233,7 +233,7 @@ func doChosenActivity(configuration android.Config, extraNinjaDeps []string) str ninjaDeps := bootstrap.RunBlueprint(blueprintArgs, ctx.Context, configuration) ninjaDeps = append(ninjaDeps, extraNinjaDeps...) - globListFiles := writeBuildGlobsNinjaFile(ctx.SrcDir(), configuration.BuildDir(), ctx.Globs, configuration) + globListFiles := writeBuildGlobsNinjaFile(ctx.SrcDir(), configuration.SoongOutDir(), ctx.Globs, configuration) ninjaDeps = append(ninjaDeps, globListFiles...) err := deptools.WriteDepFile(shared.JoinPath(topDir, blueprintArgs.DepFile), blueprintArgs.OutFile, ninjaDeps) @@ -307,7 +307,7 @@ func main() { 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. - extraNinjaDeps = append(extraNinjaDeps, filepath.Join(configuration.BuildDir(), "always_rerun_for_delve")) + extraNinjaDeps = append(extraNinjaDeps, filepath.Join(configuration.SoongOutDir(), "always_rerun_for_delve")) } if docFile != "" { @@ -356,12 +356,12 @@ func writeUsedEnvironmentFile(configuration android.Config, finalOutputFile stri // These files are: build.ninja and build.ninja.d. Since Kati hasn't been // ran as well, and `nothing` is defined in a .mk file, there isn't a ninja // target called `nothing`, so we manually create it here. -func writeFakeNinjaFile(extraNinjaDeps []string, buildDir string) { +func writeFakeNinjaFile(extraNinjaDeps []string, soongOutDir string) { extraNinjaDepsString := strings.Join(extraNinjaDeps, " \\\n ") ninjaFileName := "build.ninja" - ninjaFile := shared.JoinPath(topDir, buildDir, ninjaFileName) - ninjaFileD := shared.JoinPath(topDir, buildDir, ninjaFileName+".d") + ninjaFile := shared.JoinPath(topDir, soongOutDir, ninjaFileName) + ninjaFileD := shared.JoinPath(topDir, soongOutDir, ninjaFileName+".d") // A workaround to create the 'nothing' ninja target so `m nothing` works, // since bp2build runs without Kati, and the 'nothing' target is declared in // a Makefile. @@ -505,7 +505,7 @@ func runBp2Build(configuration android.Config, extraNinjaDeps []string) { ninjaDeps := bootstrap.RunBlueprint(blueprintArgs, bp2buildCtx.Context, configuration) ninjaDeps = append(ninjaDeps, extraNinjaDeps...) - globListFiles := writeBuildGlobsNinjaFile(bp2buildCtx.SrcDir(), configuration.BuildDir(), bp2buildCtx.Globs, configuration) + globListFiles := writeBuildGlobsNinjaFile(bp2buildCtx.SrcDir(), configuration.SoongOutDir(), bp2buildCtx.Globs, configuration) ninjaDeps = append(ninjaDeps, globListFiles...) // Run the code-generation phase to convert BazelTargetModules to BUILD files @@ -513,8 +513,8 @@ func runBp2Build(configuration android.Config, extraNinjaDeps []string) { codegenContext := bp2build.NewCodegenContext(configuration, *bp2buildCtx, bp2build.Bp2Build) metrics := bp2build.Codegen(codegenContext) - generatedRoot := shared.JoinPath(configuration.BuildDir(), "bp2build") - workspaceRoot := shared.JoinPath(configuration.BuildDir(), "workspace") + generatedRoot := shared.JoinPath(configuration.SoongOutDir(), "bp2build") + workspaceRoot := shared.JoinPath(configuration.SoongOutDir(), "workspace") excludes := []string{ "bazel-bin", diff --git a/dexpreopt/config.go b/dexpreopt/config.go index 7a74506b7..de3666a33 100644 --- a/dexpreopt/config.go +++ b/dexpreopt/config.go @@ -159,7 +159,7 @@ func init() { } func constructPath(ctx android.PathContext, path string) android.Path { - buildDirPrefix := ctx.Config().BuildDir() + "/" + buildDirPrefix := ctx.Config().SoongOutDir() + "/" if path == "" { return nil } else if strings.HasPrefix(path, buildDirPrefix) { diff --git a/java/app_test.go b/java/app_test.go index c14c65d18..f4fdfa756 100644 --- a/java/app_test.go +++ b/java/app_test.go @@ -1737,7 +1737,7 @@ func TestPackageNameOverride(t *testing.T) { foo := result.ModuleForTests("foo", "android_common") - outSoongDir := result.Config.BuildDir() + outSoongDir := result.Config.SoongOutDir() outputs := foo.AllOutputs() outputMap := make(map[string]bool) diff --git a/java/base.go b/java/base.go index ea5b13721..416d82a67 100644 --- a/java/base.go +++ b/java/base.go @@ -793,7 +793,7 @@ func (j *Module) collectJavacFlags( // Manually specify build directory in case it is not under the repo root. // (javac doesn't seem to expand into symbolic links when searching for patch-module targets, so // just adding a symlink under the root doesn't help.) - patchPaths := []string{".", ctx.Config().BuildDir()} + patchPaths := []string{".", ctx.Config().SoongOutDir()} // b/150878007 // diff --git a/java/java_test.go b/java/java_test.go index b6780c20c..8bb017f0b 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -1183,7 +1183,7 @@ func checkPatchModuleFlag(t *testing.T, ctx *android.TestContext, moduleName str break } } - if expected != android.StringPathRelativeToTop(ctx.Config().BuildDir(), got) { + if expected != android.StringPathRelativeToTop(ctx.Config().SoongOutDir(), got) { t.Errorf("Unexpected patch-module flag for module %q - expected %q, but got %q", moduleName, expected, got) } } diff --git a/rust/project_json_test.go b/rust/project_json_test.go index bdd54c59b..f7b668122 100644 --- a/rust/project_json_test.go +++ b/rust/project_json_test.go @@ -36,7 +36,7 @@ func testProjectJson(t *testing.T, bp string) []byte { // The JSON file is generated via WriteFileToOutputDir. Therefore, it // won't appear in the Output of the TestingSingleton. Manually verify // it exists. - content, err := ioutil.ReadFile(filepath.Join(result.Config.BuildDir(), rustProjectJsonFileName)) + content, err := ioutil.ReadFile(filepath.Join(result.Config.SoongOutDir(), rustProjectJsonFileName)) if err != nil { t.Errorf("rust-project.json has not been generated") } diff --git a/ui/build/soong.go b/ui/build/soong.go index 8ef8c745a..06210b9f8 100644 --- a/ui/build/soong.go +++ b/ui/build/soong.go @@ -71,17 +71,17 @@ func writeEnvironmentFile(ctx Context, envFile string, envDeps map[string]string // A tiny struct used to tell Blueprint that it's in bootstrap mode. It would // probably be nicer to use a flag in bootstrap.Args instead. type BlueprintConfig struct { - buildDir string - ninjaBuildDir string + soongOutDir string + outDir string debugCompilation bool } -func (c BlueprintConfig) BuildDir() string { - return c.buildDir +func (c BlueprintConfig) SoongOutDir() string { + return c.soongOutDir } -func (c BlueprintConfig) NinjaBuildDir() string { - return c.ninjaBuildDir +func (c BlueprintConfig) OutDir() string { + return c.outDir } func (c BlueprintConfig) DebugCompilation() bool { @@ -189,8 +189,8 @@ func bootstrapBlueprint(ctx Context, config Config) { blueprintCtx := blueprint.NewContext() blueprintCtx.SetIgnoreUnknownModuleTypes(true) blueprintConfig := BlueprintConfig{ - buildDir: config.SoongOutDir(), - ninjaBuildDir: config.OutDir(), + soongOutDir: config.SoongOutDir(), + outDir: config.OutDir(), debugCompilation: os.Getenv("SOONG_DELVE") != "", }