Merge "Prevent evaluating configurable properties before the defaults mutator" into main am: 0bfceee178
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3268013 Change-Id: Ib77c5c0a30267e649f0c37bc131825890bee8b37 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -2215,6 +2215,7 @@ func (m *ModuleBase) IsNativeBridgeSupported() bool {
|
||||
type ConfigurableEvaluatorContext interface {
|
||||
Config() Config
|
||||
OtherModulePropertyErrorf(module Module, property string, fmt string, args ...interface{})
|
||||
HasMutatorFinished(mutatorName string) bool
|
||||
}
|
||||
|
||||
type configurationEvalutor struct {
|
||||
@@ -2236,6 +2237,12 @@ func (e configurationEvalutor) PropertyErrorf(property string, fmt string, args
|
||||
func (e configurationEvalutor) EvaluateConfiguration(condition proptools.ConfigurableCondition, property string) proptools.ConfigurableValue {
|
||||
ctx := e.ctx
|
||||
m := e.m
|
||||
|
||||
if !ctx.HasMutatorFinished("defaults") {
|
||||
ctx.OtherModulePropertyErrorf(m, property, "Cannot evaluate configurable property before the defaults mutator has run")
|
||||
return proptools.ConfigurableValueUndefined()
|
||||
}
|
||||
|
||||
switch condition.FunctionName() {
|
||||
case "release_flag":
|
||||
if condition.NumArgs() != 1 {
|
||||
|
@@ -118,6 +118,7 @@ func runPackagingTest(t *testing.T, config testConfig, bp string, expected []str
|
||||
}
|
||||
|
||||
result := GroupFixturePreparers(
|
||||
PrepareForTestWithDefaults,
|
||||
PrepareForTestWithArchMutator,
|
||||
FixtureRegisterWithContext(func(ctx RegistrationContext) {
|
||||
ctx.RegisterModuleType("component", componentTestModuleFactory)
|
||||
|
Reference in New Issue
Block a user