Add otherModuleProvider to ConfigurableEvaluatorContext

So that it can make decisisons based on a provider set by the
base config mutator.

Bug: 361816274
Test: m nothing
Change-Id: I19e8a9e800dfabcd05740f9c0ed5db833c5b2377
This commit is contained in:
Cole Faust
2024-08-23 12:06:11 -07:00
parent 0bfceee178
commit 55b56feb86
4 changed files with 7 additions and 0 deletions

View File

@@ -101,6 +101,7 @@ func InitDefaultableModule(module DefaultableModule) {
// A restricted subset of context methods, similar to LoadHookContext.
type DefaultableHookContext interface {
EarlyModuleContext
OtherModuleProviderContext
CreateModule(ModuleFactory, ...interface{}) Module
AddMissingDependencies(missingDeps []string)

View File

@@ -2213,6 +2213,7 @@ func (m *ModuleBase) IsNativeBridgeSupported() bool {
}
type ConfigurableEvaluatorContext interface {
OtherModuleProviderContext
Config() Config
OtherModulePropertyErrorf(module Module, property string, fmt string, args ...interface{})
HasMutatorFinished(mutatorName string) bool

View File

@@ -91,6 +91,7 @@ func GlobFiles(ctx EarlyModulePathContext, globPattern string, excludes []string
// the Path methods that rely on module dependencies having been resolved.
type ModuleWithDepsPathContext interface {
EarlyModulePathContext
OtherModuleProviderContext
VisitDirectDepsBlueprint(visit func(blueprint.Module))
OtherModuleDependencyTag(m blueprint.Module) blueprint.DependencyTag
HasMutatorFinished(mutatorName string) bool

View File

@@ -1330,6 +1330,10 @@ func (ctx *panickingConfigAndErrorContext) HasMutatorFinished(mutatorName string
return ctx.ctx.HasMutatorFinished(mutatorName)
}
func (ctx *panickingConfigAndErrorContext) otherModuleProvider(m blueprint.Module, p blueprint.AnyProviderKey) (any, bool) {
return ctx.ctx.otherModuleProvider(m, p)
}
func PanickingConfigAndErrorContext(ctx *TestContext) ConfigurableEvaluatorContext {
return &panickingConfigAndErrorContext{
ctx: ctx,