summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Inseob Kim <inseob@google.com> 2023-06-16 14:19:33 +0900
committer Inseob Kim <inseob@google.com> 2023-06-16 15:52:15 +0900
commit8ff69de0f70638e1ab0b7e66aa2a03a3bde146bb (patch)
tree5c5fa5e0018bede1c83db874530f5490980cd01f
parenteefac275c1969a459b5b5c9d1ac7e57a7c4d462c (diff)
Fix soong config hash missing for some modules
Bug: 279362051 Test: see outputs of C++ modules using soong config Change-Id: I95e41350ff17a989faf7c010a4c4ed4fcd79d66b
-rw-r--r--android/module.go9
-rw-r--r--android/paths.go7
2 files changed, 9 insertions, 7 deletions
diff --git a/android/module.go b/android/module.go
index ba327108f..b554fd0bc 100644
--- a/android/module.go
+++ b/android/module.go
@@ -483,6 +483,7 @@ type ModuleContext interface {
TargetRequiredModuleNames() []string
ModuleSubDir() string
+ SoongConfigTraceHash() string
Variable(pctx PackageContext, name, value string)
Rule(pctx PackageContext, name string, params blueprint.RuleParams, argNames ...string) blueprint.Rule
@@ -987,7 +988,11 @@ type commonProperties struct {
// Bazel conversion status
BazelConversionStatus BazelConversionStatus `blueprint:"mutated"`
- // SoongConfigTrace records accesses to VendorVars (soong_config)
+ // SoongConfigTrace records accesses to VendorVars (soong_config). The trace will be hashed
+ // and used as a subdir of PathForModuleOut. Note that we mainly focus on incremental
+ // builds among similar products (e.g. aosp_cf_x86_64_phone and aosp_cf_x86_64_foldable),
+ // and there are variables other than soong_config, which isn't captured by soong config
+ // trace, but influence modules among products.
SoongConfigTrace soongConfigTrace `blueprint:"mutated"`
SoongConfigTraceHash string `blueprint:"mutated"`
}
@@ -3192,7 +3197,7 @@ func (m *moduleContext) ModuleSubDir() string {
return m.bp.ModuleSubDir()
}
-func (m *moduleContext) ModuleSoongConfigHash() string {
+func (m *moduleContext) SoongConfigTraceHash() string {
return m.module.base().commonProperties.SoongConfigTraceHash
}
diff --git a/android/paths.go b/android/paths.go
index 0f3d97232..94fa89cc0 100644
--- a/android/paths.go
+++ b/android/paths.go
@@ -1472,14 +1472,11 @@ type ModuleOutPathContext interface {
ModuleName() string
ModuleDir() string
ModuleSubDir() string
+ SoongConfigTraceHash() string
}
func pathForModuleOut(ctx ModuleOutPathContext) OutputPath {
- soongConfigHash := ""
- if i, ok := ctx.(interface{ ModuleSoongConfigHash() string }); ok {
- soongConfigHash = i.ModuleSoongConfigHash()
- }
- return PathForOutput(ctx, ".intermediates", ctx.ModuleDir(), ctx.ModuleName(), ctx.ModuleSubDir(), soongConfigHash)
+ return PathForOutput(ctx, ".intermediates", ctx.ModuleDir(), ctx.ModuleName(), ctx.ModuleSubDir(), ctx.SoongConfigTraceHash())
}
// PathForModuleOut returns a Path representing the paths... under the module's