From 888046f053653ad3dd8e50d5d0478d1991b11691 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Wed, 1 May 2024 14:20:31 -0700 Subject: [PATCH] Only update DebugMutator and DebugVariation for non-empty transition variations Non-transition mutators that don't create a variant for a given module cause no change to DebugMutator and DebugVariation. TransitionMutators don't have a concept of skipping a module, so Mutate is called on every module. This causes extra entries in DebugMutator and DebugVariation, which will confuse error message around missing variations, and require updating variant strings in some tests. Skip updating DebugMutator and DebugVariation for empty transition mutator variations. This isn't entirely correct, but transition mutators don't currently have a concept of an unaffected module. Bug: 319288033 Test: all soong tests pass Flag: NONE Change-Id: Ia4e659b1e90ffe4320074c9b49528d00fa302c6a --- android/mutator.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/android/mutator.go b/android/mutator.go index 46ae5b255..9cfdb60dc 100644 --- a/android/mutator.go +++ b/android/mutator.go @@ -594,11 +594,16 @@ func (a *androidTransitionMutator) IncomingTransition(bpctx blueprint.IncomingTr func (a *androidTransitionMutator) Mutate(ctx blueprint.BottomUpMutatorContext, variation string) { if am, ok := ctx.Module().(Module); ok { + if variation != "" { + // TODO: this should really be checking whether the TransitionMutator affected this module, not + // the empty variant, but TransitionMutator has no concept of skipping a module. + base := am.base() + base.commonProperties.DebugMutators = append(base.commonProperties.DebugMutators, a.name) + base.commonProperties.DebugVariations = append(base.commonProperties.DebugVariations, variation) + } + mctx := bottomUpMutatorContextFactory(ctx, am, a.finalPhase) defer bottomUpMutatorContextPool.Put(mctx) - base := am.base() - base.commonProperties.DebugMutators = append(base.commonProperties.DebugMutators, a.name) - base.commonProperties.DebugVariations = append(base.commonProperties.DebugVariations, variation) a.mutator.Mutate(mctx, variation) } }