Use one mutator for all bp2build conversion.
Each conversion required defining a separate mutator, which will each operate on _all_ modules and requires each to repeat checks whether the mutator should operator. Instead, we introduce a single mutator and modules can define a ConvertWithBp2build to implement bp2build conversion for that module. Test: bp2build.sh Bug: 183079158 Change-Id: I99d4b51f441c2903879092c5b56313d606d4338d
This commit is contained in:
@@ -63,7 +63,6 @@ func RegisterPrebuiltEtcBuildComponents(ctx android.RegistrationContext) {
|
||||
|
||||
ctx.RegisterModuleType("prebuilt_defaults", defaultsFactory)
|
||||
|
||||
android.RegisterBp2BuildMutator("prebuilt_etc", PrebuiltEtcBp2Build)
|
||||
}
|
||||
|
||||
var PrepareForTestWithPrebuiltEtc = android.FixtureRegisterWithContext(RegisterPrebuiltEtcBuildComponents)
|
||||
@@ -663,20 +662,14 @@ type bazelPrebuiltEtcAttributes struct {
|
||||
Installable bazel.BoolAttribute
|
||||
}
|
||||
|
||||
func PrebuiltEtcBp2Build(ctx android.TopDownMutatorContext) {
|
||||
module, ok := ctx.Module().(*PrebuiltEtc)
|
||||
if !ok {
|
||||
// Not an prebuilt_etc
|
||||
return
|
||||
}
|
||||
if !module.ConvertWithBp2build(ctx) {
|
||||
return
|
||||
}
|
||||
// ConvertWithBp2build performs bp2build conversion of PrebuiltEtc
|
||||
func (p *PrebuiltEtc) ConvertWithBp2build(ctx android.TopDownMutatorContext) {
|
||||
// All prebuilt_* modules are PrebuiltEtc, but at this time, we only convert prebuilt_etc modules.
|
||||
if ctx.ModuleType() != "prebuilt_etc" {
|
||||
return
|
||||
}
|
||||
|
||||
prebuiltEtcBp2BuildInternal(ctx, module)
|
||||
prebuiltEtcBp2BuildInternal(ctx, p)
|
||||
}
|
||||
|
||||
func prebuiltEtcBp2BuildInternal(ctx android.TopDownMutatorContext, module *PrebuiltEtc) {
|
||||
|
Reference in New Issue
Block a user