Merge "Separate the collation of mutators from registration" am: 5a5eeace54
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1622500 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I340ff3cd1527b557fd32b0e5a424fe5f41f3517a
This commit is contained in:
@@ -69,7 +69,14 @@ func RegisterMutatorsForBazelConversion(ctx *Context, preArchMutators, depsMutat
|
|||||||
mctx.mutators.registerAll(ctx)
|
mctx.mutators.registerAll(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
func registerMutators(ctx *Context, preArch, preDeps, postDeps, finalDeps []RegisterMutatorFunc) {
|
// collateGloballyRegisteredMutators constructs the list of mutators that have been registered
|
||||||
|
// with the InitRegistrationContext and will be used at runtime.
|
||||||
|
func collateGloballyRegisteredMutators() sortableComponents {
|
||||||
|
return collateRegisteredMutators(preArch, preDeps, postDeps, finalDeps)
|
||||||
|
}
|
||||||
|
|
||||||
|
// collateRegisteredMutators constructs a single list of mutators from the separate lists.
|
||||||
|
func collateRegisteredMutators(preArch, preDeps, postDeps, finalDeps []RegisterMutatorFunc) sortableComponents {
|
||||||
mctx := ®isterMutatorsContext{}
|
mctx := ®isterMutatorsContext{}
|
||||||
|
|
||||||
register := func(funcs []RegisterMutatorFunc) {
|
register := func(funcs []RegisterMutatorFunc) {
|
||||||
@@ -89,7 +96,7 @@ func registerMutators(ctx *Context, preArch, preDeps, postDeps, finalDeps []Regi
|
|||||||
mctx.finalPhase = true
|
mctx.finalPhase = true
|
||||||
register(finalDeps)
|
register(finalDeps)
|
||||||
|
|
||||||
mctx.mutators.registerAll(ctx)
|
return mctx.mutators
|
||||||
}
|
}
|
||||||
|
|
||||||
type registerMutatorsContext struct {
|
type registerMutatorsContext struct {
|
||||||
|
@@ -188,7 +188,8 @@ func (ctx *Context) Register() {
|
|||||||
|
|
||||||
singletons.registerAll(ctx)
|
singletons.registerAll(ctx)
|
||||||
|
|
||||||
registerMutators(ctx, preArch, preDeps, postDeps, finalDeps)
|
mutators := collateGloballyRegisteredMutators()
|
||||||
|
mutators.registerAll(ctx)
|
||||||
|
|
||||||
ctx.RegisterSingletonType("bazeldeps", SingletonFactoryAdaptor(ctx, BazelSingleton))
|
ctx.RegisterSingletonType("bazeldeps", SingletonFactoryAdaptor(ctx, BazelSingleton))
|
||||||
|
|
||||||
|
@@ -141,7 +141,8 @@ func (ctx *TestContext) DepsBp2BuildMutators(f RegisterMutatorFunc) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (ctx *TestContext) Register() {
|
func (ctx *TestContext) Register() {
|
||||||
registerMutators(ctx.Context, ctx.preArch, ctx.preDeps, ctx.postDeps, ctx.finalDeps)
|
mutators := collateRegisteredMutators(ctx.preArch, ctx.preDeps, ctx.postDeps, ctx.finalDeps)
|
||||||
|
mutators.registerAll(ctx.Context)
|
||||||
|
|
||||||
ctx.RegisterSingletonType("env", EnvSingleton)
|
ctx.RegisterSingletonType("env", EnvSingleton)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user