aboutsummaryrefslogtreecommitdiff
path: root/android/transition.go
diff options
context:
space:
mode:
Diffstat (limited to 'android/transition.go')
-rw-r--r--android/transition.go17
1 files changed, 15 insertions, 2 deletions
diff --git a/android/transition.go b/android/transition.go
index 0677ca1dd..af33517b5 100644
--- a/android/transition.go
+++ b/android/transition.go
@@ -190,8 +190,10 @@ func (a *androidTransitionMutatorAdapter) Split(ctx blueprint.BaseModuleContext)
panic("TransitionMutator not allowed in FinalDepsMutators")
}
m := ctx.Module().(Module)
- moduleContext := m.base().baseModuleContextFactory(ctx)
- return a.mutator.Split(&moduleContext)
+ moduleContext := baseModuleContextPool.Get()
+ defer baseModuleContextPool.Put(moduleContext)
+ *moduleContext = m.base().baseModuleContextFactory(ctx)
+ return a.mutator.Split(moduleContext)
}
func (a *androidTransitionMutatorAdapter) OutgoingTransition(bpctx blueprint.OutgoingTransitionContext,
@@ -228,6 +230,9 @@ func (a *androidTransitionMutatorAdapter) Mutate(ctx blueprint.BottomUpMutatorCo
base.commonProperties.DebugMutators = append(base.commonProperties.DebugMutators, a.name)
base.commonProperties.DebugVariations = append(base.commonProperties.DebugVariations, variation)
}
+ if config := ctx.Config().(Config); config.captureBuild {
+ config.modulesForTests.Insert(ctx.ModuleName(), am)
+ }
mctx := bottomUpMutatorContextFactory(ctx, am, a.finalPhase)
defer bottomUpMutatorContextPool.Put(mctx)
@@ -408,3 +413,11 @@ func (c *outgoingTransitionContextImpl) DeviceConfig() DeviceConfig {
func (c *outgoingTransitionContextImpl) provider(provider blueprint.AnyProviderKey) (any, bool) {
return c.bp.Provider(provider)
}
+
+// UsesUnbundledVariantDepTag is an interface that dependency tags can implement to indicate they
+// want the variant of the module that would be used for unbundled builds. This is used by
+// unbundled_builder. Historically, make did not know/care about individual variants, so when
+// you listed apps in TARGET_BUILD_APPS, make would build whatever variant was available.
+type UsesUnbundledVariantDepTag interface {
+ UsesUnbundledVariant()
+}