diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-04-21 03:01:11 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-04-21 03:01:11 +0000 |
commit | a6b56d02860fdea810a8d4cc5db36b7cd665397a (patch) | |
tree | 1080eab2abc01a38d7511b006730b92ee84852cf | |
parent | b5da87ebb3f1fa40bd0935d9c4530f401736af3f (diff) | |
parent | fc8c3e1f3d09a9931fcde600aab703e8ace497f5 (diff) | |
download | blueprint-android13-qpr1-s6-release.tar.gz |
Snap for 8479861 from fc8c3e1f3d09a9931fcde600aab703e8ace497f5 to tm-qpr1-releaseandroid-13.0.0_r30android-13.0.0_r29android-13.0.0_r28android-13.0.0_r27android-13.0.0_r24android-13.0.0_r23android-13.0.0_r22android-13.0.0_r21android-13.0.0_r20android-13.0.0_r19android-13.0.0_r18android-13.0.0_r17android-13.0.0_r16android13-qpr1-s8-releaseandroid13-qpr1-s7-releaseandroid13-qpr1-s6-releaseandroid13-qpr1-s5-releaseandroid13-qpr1-s4-releaseandroid13-qpr1-s3-releaseandroid13-qpr1-s2-releaseandroid13-qpr1-s1-releaseandroid13-qpr1-release
Change-Id: I95c3758eb84b43adfb527b97fa62cf337ba5e0b2
-rw-r--r-- | context.go | 40 | ||||
-rw-r--r-- | module_ctx.go | 27 |
2 files changed, 1 insertions, 66 deletions
@@ -83,7 +83,6 @@ type Context struct { preSingletonInfo []*singletonInfo singletonInfo []*singletonInfo mutatorInfo []*mutatorInfo - earlyMutatorInfo []*mutatorInfo variantMutatorNames []string depsModified uint32 // positive if a mutator modified the dependencies @@ -630,38 +629,6 @@ func (mutator *mutatorInfo) Parallel() MutatorHandle { return mutator } -// RegisterEarlyMutator registers a mutator that will be invoked to split -// Modules into multiple variant Modules before any dependencies have been -// created. Each registered mutator is invoked in registration order once -// per Module (including each variant from previous early mutators). Module -// order is unpredictable. -// -// In order for dependencies to be satisifed in a later pass, all dependencies -// of a module either must have an identical variant or must have no variations. -// -// The mutator type names given here must be unique to all bottom up or early -// mutators in the Context. -// -// Deprecated, use a BottomUpMutator instead. The only difference between -// EarlyMutator and BottomUpMutator is that EarlyMutator runs before the -// deprecated DynamicDependencies. -func (c *Context) RegisterEarlyMutator(name string, mutator EarlyMutator) { - for _, m := range c.variantMutatorNames { - if m == name { - panic(fmt.Errorf("mutator name %s is already registered", name)) - } - } - - c.earlyMutatorInfo = append(c.earlyMutatorInfo, &mutatorInfo{ - bottomUpMutator: func(mctx BottomUpMutatorContext) { - mutator(mctx) - }, - name: name, - }) - - c.variantMutatorNames = append(c.variantMutatorNames, name) -} - // SetIgnoreUnknownModuleTypes sets the behavior of the context in the case // where it encounters an unknown module type while parsing Blueprints files. By // default, the context will report unknown module types as an error. If this @@ -2483,13 +2450,8 @@ func (c *Context) PrepareBuildActions(config interface{}) (deps []string, errs [ } func (c *Context) runMutators(ctx context.Context, config interface{}) (deps []string, errs []error) { - var mutators []*mutatorInfo - pprof.Do(ctx, pprof.Labels("blueprint", "runMutators"), func(ctx context.Context) { - mutators = append(mutators, c.earlyMutatorInfo...) - mutators = append(mutators, c.mutatorInfo...) - - for _, mutator := range mutators { + for _, mutator := range c.mutatorInfo { pprof.Do(ctx, pprof.Labels("mutator", mutator.name), func(context.Context) { var newDeps []string if mutator.topDownMutator != nil { diff --git a/module_ctx.go b/module_ctx.go index 787f483..53ee405 100644 --- a/module_ctx.go +++ b/module_ctx.go @@ -831,32 +831,6 @@ type BaseMutatorContext interface { MutatorName() string } -type EarlyMutatorContext interface { - BaseMutatorContext - - // CreateVariations splits a module into multiple variants, one for each name in the variationNames - // parameter. It returns a list of new modules in the same order as the variationNames - // list. - // - // If any of the dependencies of the module being operated on were already split - // by calling CreateVariations with the same name, the dependency will automatically - // be updated to point the matching variant. - // - // If a module is split, and then a module depending on the first module is not split - // when the Mutator is later called on it, the dependency of the depending module will - // automatically be updated to point to the first variant. - CreateVariations(...string) []Module - - // CreateLocalVariations splits a module into multiple variants, one for each name in the variantNames - // parameter. It returns a list of new modules in the same order as the variantNames - // list. - // - // Local variations do not affect automatic dependency resolution - dependencies added - // to the split module via deps or DynamicDependerModule must exactly match a variant - // that contains all the non-local variations. - CreateLocalVariations(...string) []Module -} - type TopDownMutatorContext interface { BaseMutatorContext @@ -995,7 +969,6 @@ type BottomUpMutatorContext interface { // if a second Mutator chooses to split the module a second time. type TopDownMutator func(mctx TopDownMutatorContext) type BottomUpMutator func(mctx BottomUpMutatorContext) -type EarlyMutator func(mctx EarlyMutatorContext) // DependencyTag is an interface to an arbitrary object that embeds BaseDependencyTag. It can be // used to transfer information on a dependency between the mutator that called AddDependency |