Merge "Fix soong config hash missing for some modules"

This commit is contained in:
Inseob Kim 2023-06-16 11:28:19 +00:00 committed by Gerrit Code Review
commit 55be40beb4
2 changed files with 9 additions and 7 deletions

View file

@ -483,6 +483,7 @@ type ModuleContext interface {
TargetRequiredModuleNames() []string TargetRequiredModuleNames() []string
ModuleSubDir() string ModuleSubDir() string
SoongConfigTraceHash() string
Variable(pctx PackageContext, name, value string) Variable(pctx PackageContext, name, value string)
Rule(pctx PackageContext, name string, params blueprint.RuleParams, argNames ...string) blueprint.Rule Rule(pctx PackageContext, name string, params blueprint.RuleParams, argNames ...string) blueprint.Rule
@ -987,7 +988,11 @@ type commonProperties struct {
// Bazel conversion status // Bazel conversion status
BazelConversionStatus BazelConversionStatus `blueprint:"mutated"` 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"` SoongConfigTrace soongConfigTrace `blueprint:"mutated"`
SoongConfigTraceHash string `blueprint:"mutated"` SoongConfigTraceHash string `blueprint:"mutated"`
} }
@ -3192,7 +3197,7 @@ func (m *moduleContext) ModuleSubDir() string {
return m.bp.ModuleSubDir() return m.bp.ModuleSubDir()
} }
func (m *moduleContext) ModuleSoongConfigHash() string { func (m *moduleContext) SoongConfigTraceHash() string {
return m.module.base().commonProperties.SoongConfigTraceHash return m.module.base().commonProperties.SoongConfigTraceHash
} }

View file

@ -1472,14 +1472,11 @@ type ModuleOutPathContext interface {
ModuleName() string ModuleName() string
ModuleDir() string ModuleDir() string
ModuleSubDir() string ModuleSubDir() string
SoongConfigTraceHash() string
} }
func pathForModuleOut(ctx ModuleOutPathContext) OutputPath { func pathForModuleOut(ctx ModuleOutPathContext) OutputPath {
soongConfigHash := "" return PathForOutput(ctx, ".intermediates", ctx.ModuleDir(), ctx.ModuleName(), ctx.ModuleSubDir(), ctx.SoongConfigTraceHash())
if i, ok := ctx.(interface{ ModuleSoongConfigHash() string }); ok {
soongConfigHash = i.ModuleSoongConfigHash()
}
return PathForOutput(ctx, ".intermediates", ctx.ModuleDir(), ctx.ModuleName(), ctx.ModuleSubDir(), soongConfigHash)
} }
// PathForModuleOut returns a Path representing the paths... under the module's // PathForModuleOut returns a Path representing the paths... under the module's