Convert imageMutator to TransitionMutator
Replace android.imageMutator with a TransitionMutator Test: diff out/soong/Android-<product>.mk Bug: 319288033 Change-Id: Id6a50a2aacb32ecfadf7e45ada4956e85b55fef2
This commit is contained in:
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
package android
|
package android
|
||||||
|
|
||||||
// ImageInterface is implemented by modules that need to be split by the imageMutator.
|
// ImageInterface is implemented by modules that need to be split by the imageTransitionMutator.
|
||||||
type ImageInterface interface {
|
type ImageInterface interface {
|
||||||
// ImageMutatorBegin is called before any other method in the ImageInterface.
|
// ImageMutatorBegin is called before any other method in the ImageInterface.
|
||||||
ImageMutatorBegin(ctx BaseModuleContext)
|
ImageMutatorBegin(ctx BaseModuleContext)
|
||||||
@@ -81,18 +81,16 @@ const (
|
|||||||
DebugRamdiskVariation string = "debug_ramdisk"
|
DebugRamdiskVariation string = "debug_ramdisk"
|
||||||
)
|
)
|
||||||
|
|
||||||
// imageMutator creates variants for modules that implement the ImageInterface that
|
// imageTransitionMutator creates variants for modules that implement the ImageInterface that
|
||||||
// allow them to build differently for each partition (recovery, core, vendor, etc.).
|
// allow them to build differently for each partition (recovery, core, vendor, etc.).
|
||||||
func imageMutator(ctx BottomUpMutatorContext) {
|
type imageTransitionMutator struct{}
|
||||||
if ctx.Os() != Android {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if m, ok := ctx.Module().(ImageInterface); ok {
|
func (imageTransitionMutator) Split(ctx BaseModuleContext) []string {
|
||||||
|
var variations []string
|
||||||
|
|
||||||
|
if m, ok := ctx.Module().(ImageInterface); ctx.Os() == Android && ok {
|
||||||
m.ImageMutatorBegin(ctx)
|
m.ImageMutatorBegin(ctx)
|
||||||
|
|
||||||
var variations []string
|
|
||||||
|
|
||||||
if m.CoreVariantNeeded(ctx) {
|
if m.CoreVariantNeeded(ctx) {
|
||||||
variations = append(variations, CoreVariation)
|
variations = append(variations, CoreVariation)
|
||||||
}
|
}
|
||||||
@@ -117,15 +115,29 @@ func imageMutator(ctx BottomUpMutatorContext) {
|
|||||||
|
|
||||||
extraVariations := m.ExtraImageVariations(ctx)
|
extraVariations := m.ExtraImageVariations(ctx)
|
||||||
variations = append(variations, extraVariations...)
|
variations = append(variations, extraVariations...)
|
||||||
|
}
|
||||||
|
|
||||||
if len(variations) == 0 {
|
if len(variations) == 0 {
|
||||||
return
|
variations = append(variations, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
mod := ctx.CreateVariations(variations...)
|
return variations
|
||||||
for i, v := range variations {
|
}
|
||||||
mod[i].base().setImageVariation(v)
|
|
||||||
mod[i].(ImageInterface).SetImageVariation(ctx, v)
|
func (imageTransitionMutator) OutgoingTransition(ctx OutgoingTransitionContext, sourceVariation string) string {
|
||||||
}
|
return sourceVariation
|
||||||
|
}
|
||||||
|
|
||||||
|
func (imageTransitionMutator) IncomingTransition(ctx IncomingTransitionContext, incomingVariation string) string {
|
||||||
|
if _, ok := ctx.Module().(ImageInterface); ctx.Os() != Android || !ok {
|
||||||
|
return CoreVariation
|
||||||
|
}
|
||||||
|
return incomingVariation
|
||||||
|
}
|
||||||
|
|
||||||
|
func (imageTransitionMutator) Mutate(ctx BottomUpMutatorContext, variation string) {
|
||||||
|
ctx.Module().base().setImageVariation(variation)
|
||||||
|
if m, ok := ctx.Module().(ImageInterface); ok {
|
||||||
|
m.SetImageVariation(ctx, variation)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -149,7 +149,7 @@ var preArch = []RegisterMutatorFunc{
|
|||||||
|
|
||||||
func registerArchMutator(ctx RegisterMutatorsContext) {
|
func registerArchMutator(ctx RegisterMutatorsContext) {
|
||||||
ctx.BottomUpBlueprint("os", osMutator).Parallel()
|
ctx.BottomUpBlueprint("os", osMutator).Parallel()
|
||||||
ctx.BottomUp("image", imageMutator).Parallel()
|
ctx.Transition("image", &imageTransitionMutator{})
|
||||||
ctx.BottomUpBlueprint("arch", archMutator).Parallel()
|
ctx.BottomUpBlueprint("arch", archMutator).Parallel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user