diff options
author | Colin Cross <ccross@android.com> | 2015-10-29 15:25:03 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2015-11-03 15:46:08 -0800 |
commit | 6362e278481ea0cb14d31cd7fd3760116b6d7643 (patch) | |
tree | 16221aa2499c2e6ec896c3a87645b441a57c07e8 /register.go | |
parent | 06a931bdb6228bdbe425696b01e27522f4b00d71 (diff) | |
download | build_soong-6362e278481ea0cb14d31cd7fd3760116b6d7643.tar.gz build_soong-6362e278481ea0cb14d31cd7fd3760116b6d7643.tar.bz2 build_soong-6362e278481ea0cb14d31cd7fd3760116b6d7643.zip |
Remove EarlyMutators and DynamicDependencies
EarlyMutators are identical to BottomUpMutators, except they run before
DynamicDependencies. DynamicDependencies can be replaced with a
BottomUpMutator. Replace both EarlyMutators and DynamicDependencies
with BottomUpMutators, which allows setting the order between all
mutators through registration order.
Change-Id: Id1305d798d3d2da592061c89d7c10a71780b71a3
Diffstat (limited to 'register.go')
-rw-r--r-- | register.go | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/register.go b/register.go index c35beae5..353094c0 100644 --- a/register.go +++ b/register.go @@ -30,12 +30,13 @@ type singleton struct { var singletons []singleton -type earlyMutator struct { - name string - mutator blueprint.EarlyMutator +type mutator struct { + name string + bottomUpMutator blueprint.BottomUpMutator + topDownMutator blueprint.TopDownMutator } -var earlyMutators []earlyMutator +var mutators []mutator func RegisterModuleType(name string, factory blueprint.ModuleFactory) { moduleTypes = append(moduleTypes, moduleType{name, factory}) @@ -45,8 +46,12 @@ func RegisterSingletonType(name string, factory blueprint.SingletonFactory) { singletons = append(singletons, singleton{name, factory}) } -func RegisterEarlyMutator(name string, mutator blueprint.EarlyMutator) { - earlyMutators = append(earlyMutators, earlyMutator{name, mutator}) +func RegisterBottomUpMutator(name string, m blueprint.BottomUpMutator) { + mutators = append(mutators, mutator{name: name, bottomUpMutator: m}) +} + +func RegisterTopDownMutator(name string, m blueprint.TopDownMutator) { + mutators = append(mutators, mutator{name: name, topDownMutator: m}) } func NewContext() *blueprint.Context { @@ -60,8 +65,13 @@ func NewContext() *blueprint.Context { ctx.RegisterSingletonType(t.name, t.factory) } - for _, t := range earlyMutators { - ctx.RegisterEarlyMutator(t.name, t.mutator) + for _, t := range mutators { + if t.bottomUpMutator != nil { + ctx.RegisterBottomUpMutator(t.name, t.bottomUpMutator) + } + if t.topDownMutator != nil { + ctx.RegisterTopDownMutator(t.name, t.topDownMutator) + } } return ctx |