Don't forward apex dependencies to platform when they are added later
IncomingApexTransition normally returns "" for modules that have no apex variation so that apex variations can depend on non-apex variations, for example for NDK libraries. addDependencyOntoApexModulePair uses OtherModuleDependencyVariantExists to decide whether to add a dependency on a module in an apex. If IncomingApexTransition returns "" then OtherModuleDependencyVariantExists will always return true. Return the incoming variation when addding dependencies after the apex transition mutator has already run. Bug: 319288033 Flag: EXEMPT bugfix Test: all soong tests pass with later patches applied Change-Id: Iec40c3be2ed04dca16a9fa6fa0a1c31056b536a8
This commit is contained in:
@@ -610,9 +610,15 @@ func IncomingApexTransition(ctx IncomingTransitionContext, incomingVariation str
|
||||
return ""
|
||||
}
|
||||
|
||||
// If this module has no apex variations the use the platform variation.
|
||||
if len(apexInfos) == 0 {
|
||||
return ""
|
||||
if ctx.IsAddingDependency() {
|
||||
// If this module has no apex variations we can't do any mapping on the incoming variation, just return it
|
||||
// and let the caller get a "missing variant" error.
|
||||
return incomingVariation
|
||||
} else {
|
||||
// If this module has no apex variations the use the platform variation.
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
// Convert the list of apex infos into from the AllApexInfoProvider into the merged list
|
||||
|
Reference in New Issue
Block a user