Remove bp2build deps mutator
Refactor bp2build to retrieve modules directly by name, instead of via DirectDeps. This functions properly as bp2build has no need for variant information of the blueprint graph. Test: USE_BAZEL_ANALYSIS=1 m fmtlib Change-Id: Ief4b67bc56f24929871af772f3a742f07085bf8c
This commit is contained in:
@@ -35,7 +35,7 @@ import (
|
||||
// continue on to GenerateAndroidBuildActions
|
||||
|
||||
// RegisterMutatorsForBazelConversion is a alternate registration pipeline for bp2build. Exported for testing.
|
||||
func RegisterMutatorsForBazelConversion(ctx *Context, preArchMutators, depsMutators, bp2buildMutators []RegisterMutatorFunc) {
|
||||
func RegisterMutatorsForBazelConversion(ctx *Context, preArchMutators, bp2buildMutators []RegisterMutatorFunc) {
|
||||
mctx := ®isterMutatorsContext{
|
||||
bazelConversionMode: true,
|
||||
}
|
||||
@@ -53,16 +53,6 @@ func RegisterMutatorsForBazelConversion(ctx *Context, preArchMutators, depsMutat
|
||||
f(mctx)
|
||||
}
|
||||
|
||||
bp2buildDepsMutators = append([]RegisterMutatorFunc{
|
||||
registerDepsMutatorBp2Build,
|
||||
registerPathDepsMutator,
|
||||
registerBp2buildArchPathDepsMutator,
|
||||
}, depsMutators...)
|
||||
|
||||
for _, f := range bp2buildDepsMutators {
|
||||
f(mctx)
|
||||
}
|
||||
|
||||
// Register bp2build mutators
|
||||
for _, f := range bp2buildMutators {
|
||||
f(mctx)
|
||||
@@ -227,7 +217,6 @@ func FinalDepsMutators(f RegisterMutatorFunc) {
|
||||
}
|
||||
|
||||
var bp2buildPreArchMutators = []RegisterMutatorFunc{}
|
||||
var bp2buildDepsMutators = []RegisterMutatorFunc{}
|
||||
var bp2buildMutators = map[string]RegisterMutatorFunc{}
|
||||
|
||||
// See http://b/192523357
|
||||
@@ -254,12 +243,6 @@ func PreArchBp2BuildMutators(f RegisterMutatorFunc) {
|
||||
bp2buildPreArchMutators = append(bp2buildPreArchMutators, f)
|
||||
}
|
||||
|
||||
// DepsBp2BuildMutators adds mutators to be register for converting Android Blueprint modules into
|
||||
// Bazel BUILD targets that should run prior to conversion to resolve dependencies.
|
||||
func DepsBp2BuildMutators(f RegisterMutatorFunc) {
|
||||
bp2buildDepsMutators = append(bp2buildDepsMutators, f)
|
||||
}
|
||||
|
||||
type BaseMutatorContext interface {
|
||||
BaseModuleContext
|
||||
|
||||
@@ -269,6 +252,9 @@ type BaseMutatorContext interface {
|
||||
// Rename all variants of a module. The new name is not visible to calls to ModuleName,
|
||||
// AddDependency or OtherModuleName until after this mutator pass is complete.
|
||||
Rename(name string)
|
||||
|
||||
// BazelConversionMode returns whether this mutator is being run as part of Bazel Conversion.
|
||||
BazelConversionMode() bool
|
||||
}
|
||||
|
||||
type TopDownMutator func(TopDownMutatorContext)
|
||||
@@ -410,26 +396,24 @@ type BottomUpMutatorContext interface {
|
||||
// variant of the current module. The value should not be modified after being passed to
|
||||
// SetVariationProvider.
|
||||
SetVariationProvider(module blueprint.Module, provider blueprint.ProviderKey, value interface{})
|
||||
|
||||
// BazelConversionMode returns whether this mutator is being run as part of Bazel Conversion.
|
||||
BazelConversionMode() bool
|
||||
}
|
||||
|
||||
type bottomUpMutatorContext struct {
|
||||
bp blueprint.BottomUpMutatorContext
|
||||
baseModuleContext
|
||||
finalPhase bool
|
||||
bazelConversionMode bool
|
||||
finalPhase bool
|
||||
}
|
||||
|
||||
func bottomUpMutatorContextFactory(ctx blueprint.BottomUpMutatorContext, a Module,
|
||||
finalPhase, bazelConversionMode bool) BottomUpMutatorContext {
|
||||
|
||||
moduleContext := a.base().baseModuleContextFactory(ctx)
|
||||
moduleContext.bazelConversionMode = bazelConversionMode
|
||||
|
||||
return &bottomUpMutatorContext{
|
||||
bp: ctx,
|
||||
baseModuleContext: a.base().baseModuleContextFactory(ctx),
|
||||
finalPhase: finalPhase,
|
||||
bazelConversionMode: bazelConversionMode,
|
||||
bp: ctx,
|
||||
baseModuleContext: a.base().baseModuleContextFactory(ctx),
|
||||
finalPhase: finalPhase,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -462,9 +446,11 @@ func (x *registerMutatorsContext) mutatorName(name string) string {
|
||||
func (x *registerMutatorsContext) TopDown(name string, m TopDownMutator) MutatorHandle {
|
||||
f := func(ctx blueprint.TopDownMutatorContext) {
|
||||
if a, ok := ctx.Module().(Module); ok {
|
||||
moduleContext := a.base().baseModuleContextFactory(ctx)
|
||||
moduleContext.bazelConversionMode = x.bazelConversionMode
|
||||
actx := &topDownMutatorContext{
|
||||
bp: ctx,
|
||||
baseModuleContext: a.base().baseModuleContextFactory(ctx),
|
||||
baseModuleContext: moduleContext,
|
||||
}
|
||||
m(actx)
|
||||
}
|
||||
@@ -733,7 +719,3 @@ func (b *bottomUpMutatorContext) CreateAliasVariation(fromVariationName, toVaria
|
||||
func (b *bottomUpMutatorContext) SetVariationProvider(module blueprint.Module, provider blueprint.ProviderKey, value interface{}) {
|
||||
b.bp.SetVariationProvider(module, provider, value)
|
||||
}
|
||||
|
||||
func (b *bottomUpMutatorContext) BazelConversionMode() bool {
|
||||
return b.bazelConversionMode
|
||||
}
|
||||
|
Reference in New Issue
Block a user