Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 55be40be authored by Inseob Kim's avatar Inseob Kim Committed by Gerrit Code Review
Browse files

Merge "Fix soong config hash missing for some modules"

parents aa003b38 8ff69de0
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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
}

+2 −5
Original line number Diff line number Diff line
@@ -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