Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4016d7b5 authored by Bill Peckham's avatar Bill Peckham
Browse files

Check for product variant in addition to core variant.

It's possible that a module will have a product variant
but not a core variant. In that case, we still need to
apply the vendor suffix to the androidmk module name.

Bug: 188720375
Bug: 187963715
Test: Build vendor image using vendor snapshot.

Change-Id: I190fdd707ca23357d1c324c1b1f3318457625f03
parent 408ffd8c
Loading
Loading
Loading
Loading
+22 −5
Original line number Diff line number Diff line
@@ -454,13 +454,30 @@ func (p *baseSnapshotDecorator) snapshotAndroidMkSuffix() string {
}

func (p *baseSnapshotDecorator) setSnapshotAndroidMkSuffix(ctx android.ModuleContext) {
	if ctx.OtherModuleDependencyVariantExists([]blueprint.Variation{
		{Mutator: "image", Variation: android.CoreVariation},
	}, ctx.Module().(*Module).BaseModuleName()) {
	coreVariations := append(ctx.Target().Variations(), blueprint.Variation{
		Mutator:   "image",
		Variation: android.CoreVariation})

	if ctx.OtherModuleFarDependencyVariantExists(coreVariations, ctx.Module().(*Module).BaseModuleName()) {
		p.baseProperties.Androidmk_suffix = p.image.moduleNameSuffix()
	} else {
		p.baseProperties.Androidmk_suffix = ""
		return
	}

	// If there is no matching core variation, there could still be a
	// product variation, for example if a module is product specific and
	// vendor available. In that case, we also want to add the androidmk
	// suffix.

	productVariations := append(ctx.Target().Variations(), blueprint.Variation{
		Mutator:   "image",
		Variation: ProductVariationPrefix + ctx.DeviceConfig().PlatformVndkVersion()})

	if ctx.OtherModuleFarDependencyVariantExists(productVariations, ctx.Module().(*Module).BaseModuleName()) {
		p.baseProperties.Androidmk_suffix = p.image.moduleNameSuffix()
		return
	}

	p.baseProperties.Androidmk_suffix = ""
}

// Call this with a module suffix after creating a snapshot module, such as