diff options
author | 2024-10-10 22:32:21 +0000 | |
---|---|---|
committer | 2024-10-10 22:32:21 +0000 | |
commit | 004074db579a9e1abf07fe4c45f35d4d5247cac0 (patch) | |
tree | d92460b53feb6abc37aa85cf755dc35631208937 | |
parent | fef73af257e936d9b6345ce30ad528c28bbccb98 (diff) | |
parent | 8a9628098bbed62f3af13021b434238308adc7c1 (diff) |
Merge changes from topic "remove-non-parallel-mutator" into main
* changes:
Remove MutatorHandle.Parallel()
Fix TestFinalDepsPhase for parallel mutator
-rw-r--r-- | android/defaults.go | 4 | ||||
-rw-r--r-- | android/licenses.go | 6 | ||||
-rw-r--r-- | android/mutator.go | 24 | ||||
-rw-r--r-- | android/mutator_test.go | 18 | ||||
-rw-r--r-- | android/namespace.go | 2 | ||||
-rw-r--r-- | android/neverallow.go | 2 | ||||
-rw-r--r-- | android/override_module.go | 10 | ||||
-rw-r--r-- | android/path_properties.go | 2 | ||||
-rw-r--r-- | android/prebuilt.go | 8 | ||||
-rw-r--r-- | android/register.go | 1 | ||||
-rw-r--r-- | android/variable.go | 2 | ||||
-rw-r--r-- | android/visibility.go | 6 | ||||
-rw-r--r-- | apex/apex.go | 16 | ||||
-rw-r--r-- | cc/cc.go | 12 | ||||
-rw-r--r-- | cc/sanitize.go | 2 | ||||
-rw-r--r-- | genrule/genrule.go | 2 | ||||
-rw-r--r-- | java/bootclasspath.go | 2 | ||||
-rw-r--r-- | java/dexpreopt_bootjars.go | 2 | ||||
-rw-r--r-- | java/java.go | 4 | ||||
-rw-r--r-- | rust/rust.go | 4 |
20 files changed, 63 insertions, 66 deletions
diff --git a/android/defaults.go b/android/defaults.go index 8fe28796e..510ebe0a2 100644 --- a/android/defaults.go +++ b/android/defaults.go @@ -273,8 +273,8 @@ func (defaultable *DefaultableModuleBase) applyDefaultProperties(ctx BottomUpMut } func RegisterDefaultsPreArchMutators(ctx RegisterMutatorsContext) { - ctx.BottomUp("defaults_deps", defaultsDepsMutator).Parallel() - ctx.BottomUp("defaults", defaultsMutator).Parallel().UsesCreateModule() + ctx.BottomUp("defaults_deps", defaultsDepsMutator) + ctx.BottomUp("defaults", defaultsMutator).UsesCreateModule() } func defaultsDepsMutator(ctx BottomUpMutatorContext) { diff --git a/android/licenses.go b/android/licenses.go index be1eedeff..949d67845 100644 --- a/android/licenses.go +++ b/android/licenses.go @@ -106,19 +106,19 @@ func moduleToPackageDefaultLicensesMap(config Config) *sync.Map { // // This goes before defaults expansion so the defaults can pick up the package default. func RegisterLicensesPackageMapper(ctx RegisterMutatorsContext) { - ctx.BottomUp("licensesPackageMapper", licensesPackageMapper).Parallel() + ctx.BottomUp("licensesPackageMapper", licensesPackageMapper) } // Registers the function that gathers the license dependencies for each module. // // This goes after defaults expansion so that it can pick up default licenses and before visibility enforcement. func RegisterLicensesPropertyGatherer(ctx RegisterMutatorsContext) { - ctx.BottomUp("licensesPropertyGatherer", licensesPropertyGatherer).Parallel() + ctx.BottomUp("licensesPropertyGatherer", licensesPropertyGatherer) } // Registers the function that verifies the licenses and license_kinds dependency types for each module. func RegisterLicensesDependencyChecker(ctx RegisterMutatorsContext) { - ctx.BottomUp("licensesPropertyChecker", licensesDependencyChecker).Parallel() + ctx.BottomUp("licensesPropertyChecker", licensesDependencyChecker) } // Maps each package to its default applicable licenses. diff --git a/android/mutator.go b/android/mutator.go index 0da3ec7d0..6bd2e60b8 100644 --- a/android/mutator.go +++ b/android/mutator.go @@ -211,10 +211,7 @@ type BottomUpMutatorContext interface { // AddDependency adds a dependency to the given module. It returns a slice of modules for each // dependency (some entries may be nil). // - // If the mutator is parallel (see MutatorHandle.Parallel), this method will pause until the - // new dependencies have had the current mutator called on them. If the mutator is not - // parallel this method does not affect the ordering of the current mutator pass, but will - // be ordered correctly for all future mutator passes. + // This method will pause until the new dependencies have had the current mutator called on them. AddDependency(module blueprint.Module, tag blueprint.DependencyTag, name ...string) []blueprint.Module // AddReverseDependency adds a dependency from the destination to the given module. @@ -230,10 +227,7 @@ type BottomUpMutatorContext interface { // each dependency (some entries may be nil). A variant of the dependency must exist that matches // all the non-local variations of the current module, plus the variations argument. // - // If the mutator is parallel (see MutatorHandle.Parallel), this method will pause until the - // new dependencies have had the current mutator called on them. If the mutator is not - // parallel this method does not affect the ordering of the current mutator pass, but will - // be ordered correctly for all future mutator passes. + // This method will pause until the new dependencies have had the current mutator called on them. AddVariationDependencies(variations []blueprint.Variation, tag blueprint.DependencyTag, names ...string) []blueprint.Module // AddReverseVariationDependency adds a dependency from the named module to the current @@ -256,10 +250,7 @@ type BottomUpMutatorContext interface { // Unlike AddVariationDependencies, the variations of the current module are ignored - the // dependency only needs to match the supplied variations. // - // If the mutator is parallel (see MutatorHandle.Parallel), this method will pause until the - // new dependencies have had the current mutator called on them. If the mutator is not - // parallel this method does not affect the ordering of the current mutator pass, but will - // be ordered correctly for all future mutator passes. + // This method will pause until the new dependencies have had the current mutator called on them. AddFarVariationDependencies([]blueprint.Variation, blueprint.DependencyTag, ...string) []blueprint.Module // ReplaceDependencies finds all the variants of the module with the specified name, then @@ -628,9 +619,6 @@ func (mutator *mutator) register(ctx *Context) { } // Forward booleans set on the MutatorHandle to the blueprint.MutatorHandle. - if mutator.parallel { - handle.Parallel() - } if mutator.usesRename { handle.UsesRename() } @@ -655,6 +643,7 @@ type MutatorHandle interface { // Parallel sets the mutator to visit modules in parallel while maintaining ordering. Calling any // method on the mutator context is thread-safe, but the mutator must handle synchronization // for any modifications to global state or any modules outside the one it was invoked on. + // Deprecated: all Mutators are parallel by default. Parallel() MutatorHandle // UsesRename marks the mutator as using the BottomUpMutatorContext.Rename method, which prevents @@ -683,7 +672,6 @@ type MutatorHandle interface { } func (mutator *mutator) Parallel() MutatorHandle { - mutator.parallel = true return mutator } @@ -718,7 +706,7 @@ func (mutator *mutator) MutatesGlobalState() MutatorHandle { } func RegisterComponentsMutator(ctx RegisterMutatorsContext) { - ctx.BottomUp("component-deps", componentDepsMutator).Parallel() + ctx.BottomUp("component-deps", componentDepsMutator) } // A special mutator that runs just prior to the deps mutator to allow the dependencies @@ -736,7 +724,7 @@ func depsMutator(ctx BottomUpMutatorContext) { } func registerDepsMutator(ctx RegisterMutatorsContext) { - ctx.BottomUp("deps", depsMutator).Parallel().UsesReverseDependencies() + ctx.BottomUp("deps", depsMutator).UsesReverseDependencies() } // android.topDownMutatorContext either has to embed blueprint.TopDownMutatorContext, in which case every method that diff --git a/android/mutator_test.go b/android/mutator_test.go index 33fca9e8b..1d5f89042 100644 --- a/android/mutator_test.go +++ b/android/mutator_test.go @@ -17,6 +17,8 @@ package android import ( "fmt" "strings" + "sync" + "sync/atomic" "testing" "github.com/google/blueprint" @@ -220,7 +222,7 @@ func TestFinalDepsPhase(t *testing.T) { } ` - finalGot := map[string]int{} + finalGot := sync.Map{} GroupFixturePreparers( FixtureRegisterWithContext(func(ctx RegistrationContext) { @@ -251,9 +253,11 @@ func TestFinalDepsPhase(t *testing.T) { } }) ctx.BottomUp("final", func(ctx BottomUpMutatorContext) { - finalGot[ctx.Module().String()] += 1 + counter, _ := finalGot.LoadOrStore(ctx.Module().String(), &atomic.Int64{}) + counter.(*atomic.Int64).Add(1) ctx.VisitDirectDeps(func(mod Module) { - finalGot[fmt.Sprintf("%s -> %s", ctx.Module().String(), mod)] += 1 + counter, _ := finalGot.LoadOrStore(fmt.Sprintf("%s -> %s", ctx.Module().String(), mod), &atomic.Int64{}) + counter.(*atomic.Int64).Add(1) }) }) }) @@ -276,7 +280,13 @@ func TestFinalDepsPhase(t *testing.T) { "foo{variant:b} -> common_dep_2{variant:a}": 1, } - AssertDeepEquals(t, "final", finalWant, finalGot) + finalGotMap := make(map[string]int) + finalGot.Range(func(k, v any) bool { + finalGotMap[k.(string)] = int(v.(*atomic.Int64).Load()) + return true + }) + + AssertDeepEquals(t, "final", finalWant, finalGotMap) } func TestTransitionMutatorInFinalDeps(t *testing.T) { diff --git a/android/namespace.go b/android/namespace.go index 866d12594..8b3ebc4d5 100644 --- a/android/namespace.go +++ b/android/namespace.go @@ -457,7 +457,7 @@ func NamespaceFactory() Module { } func RegisterNamespaceMutator(ctx RegisterMutatorsContext) { - ctx.BottomUp("namespace_deps", namespaceMutator).Parallel().MutatesGlobalState() + ctx.BottomUp("namespace_deps", namespaceMutator).MutatesGlobalState() } func namespaceMutator(ctx BottomUpMutatorContext) { diff --git a/android/neverallow.go b/android/neverallow.go index e135f5780..e93763b7b 100644 --- a/android/neverallow.go +++ b/android/neverallow.go @@ -44,7 +44,7 @@ import ( // - it has none of the "Without" properties matched (same rules as above) func registerNeverallowMutator(ctx RegisterMutatorsContext) { - ctx.BottomUp("neverallow", neverallowMutator).Parallel() + ctx.BottomUp("neverallow", neverallowMutator) } var neverallows = []Rule{} diff --git a/android/override_module.go b/android/override_module.go index d844da616..50ddc9b35 100644 --- a/android/override_module.go +++ b/android/override_module.go @@ -234,18 +234,18 @@ func (b *OverridableModuleBase) OverridablePropertiesDepsMutator(ctx BottomUpMut // Mutators for override/overridable modules. All the fun happens in these functions. It is critical // to keep them in this order and not put any order mutators between them. func RegisterOverridePostDepsMutators(ctx RegisterMutatorsContext) { - ctx.BottomUp("override_deps", overrideModuleDepsMutator).Parallel().MutatesDependencies() // modifies deps via addOverride + ctx.BottomUp("override_deps", overrideModuleDepsMutator).MutatesDependencies() // modifies deps via addOverride ctx.Transition("override", &overrideTransitionMutator{}) - ctx.BottomUp("override_apply", overrideApplyMutator).Parallel().MutatesDependencies() + ctx.BottomUp("override_apply", overrideApplyMutator).MutatesDependencies() // overridableModuleDepsMutator calls OverridablePropertiesDepsMutator so that overridable modules can // add deps from overridable properties. - ctx.BottomUp("overridable_deps", overridableModuleDepsMutator).Parallel() + ctx.BottomUp("overridable_deps", overridableModuleDepsMutator) // Because overridableModuleDepsMutator is run after PrebuiltPostDepsMutator, // prebuilt's ReplaceDependencies doesn't affect to those deps added by overridable properties. // By running PrebuiltPostDepsMutator again after overridableModuleDepsMutator, deps via overridable properties // can be replaced with prebuilts. - ctx.BottomUp("replace_deps_on_prebuilts_for_overridable_deps_again", PrebuiltPostDepsMutator).Parallel().UsesReplaceDependencies() - ctx.BottomUp("replace_deps_on_override", replaceDepsOnOverridingModuleMutator).Parallel().UsesReplaceDependencies() + ctx.BottomUp("replace_deps_on_prebuilts_for_overridable_deps_again", PrebuiltPostDepsMutator).UsesReplaceDependencies() + ctx.BottomUp("replace_deps_on_override", replaceDepsOnOverridingModuleMutator).UsesReplaceDependencies() } type overrideBaseDependencyTag struct { diff --git a/android/path_properties.go b/android/path_properties.go index 6210aee91..d80a8ed13 100644 --- a/android/path_properties.go +++ b/android/path_properties.go @@ -27,7 +27,7 @@ import ( // to the output file of the referenced module. func registerPathDepsMutator(ctx RegisterMutatorsContext) { - ctx.BottomUp("pathdeps", pathDepsMutator).Parallel() + ctx.BottomUp("pathdeps", pathDepsMutator) } // The pathDepsMutator automatically adds dependencies on any module that is listed with the diff --git a/android/prebuilt.go b/android/prebuilt.go index 0b0c517ca..19f12f035 100644 --- a/android/prebuilt.go +++ b/android/prebuilt.go @@ -400,13 +400,13 @@ func PrebuiltGetPreferred(ctx BaseModuleContext, module Module) Module { } func RegisterPrebuiltsPreArchMutators(ctx RegisterMutatorsContext) { - ctx.BottomUp("prebuilt_rename", PrebuiltRenameMutator).Parallel().UsesRename() + ctx.BottomUp("prebuilt_rename", PrebuiltRenameMutator).UsesRename() } func RegisterPrebuiltsPostDepsMutators(ctx RegisterMutatorsContext) { - ctx.BottomUp("prebuilt_source", PrebuiltSourceDepsMutator).Parallel().UsesReverseDependencies() - ctx.BottomUp("prebuilt_select", PrebuiltSelectModuleMutator).Parallel() - ctx.BottomUp("prebuilt_postdeps", PrebuiltPostDepsMutator).Parallel().UsesReplaceDependencies() + ctx.BottomUp("prebuilt_source", PrebuiltSourceDepsMutator).UsesReverseDependencies() + ctx.BottomUp("prebuilt_select", PrebuiltSelectModuleMutator) + ctx.BottomUp("prebuilt_postdeps", PrebuiltPostDepsMutator).UsesReplaceDependencies() } // Returns the name of the source module corresponding to a prebuilt module diff --git a/android/register.go b/android/register.go index 94d875d19..bb1ead73c 100644 --- a/android/register.go +++ b/android/register.go @@ -92,7 +92,6 @@ type mutator struct { topDownMutator blueprint.TopDownMutator transitionMutator blueprint.TransitionMutator - parallel bool usesRename bool usesReverseDependencies bool usesReplaceDependencies bool diff --git a/android/variable.go b/android/variable.go index 4210f6720..73c0d0e6c 100644 --- a/android/variable.go +++ b/android/variable.go @@ -29,7 +29,7 @@ func init() { func registerVariableBuildComponents(ctx RegistrationContext) { ctx.PreDepsMutators(func(ctx RegisterMutatorsContext) { - ctx.BottomUp("variable", VariableMutator).Parallel() + ctx.BottomUp("variable", VariableMutator) }) } diff --git a/android/visibility.go b/android/visibility.go index 61f220026..cee465e8c 100644 --- a/android/visibility.go +++ b/android/visibility.go @@ -268,7 +268,7 @@ func registerVisibilityMutators(ctx RegistrationContext) { // The rule checker needs to be registered before defaults expansion to correctly check that // //visibility:xxx isn't combined with other packages in the same list in any one module. func RegisterVisibilityRuleChecker(ctx RegisterMutatorsContext) { - ctx.BottomUp("visibilityRuleChecker", visibilityRuleChecker).Parallel() + ctx.BottomUp("visibilityRuleChecker", visibilityRuleChecker) } // Registers the function that gathers the visibility rules for each module. @@ -278,12 +278,12 @@ func RegisterVisibilityRuleChecker(ctx RegisterMutatorsContext) { // the complete visibility lists from flat lists and after the package info is gathered to ensure // that default_visibility is available. func RegisterVisibilityRuleGatherer(ctx RegisterMutatorsContext) { - ctx.BottomUp("visibilityRuleGatherer", visibilityRuleGatherer).Parallel() + ctx.BottomUp("visibilityRuleGatherer", visibilityRuleGatherer) } // This must be registered after the deps have been resolved. func RegisterVisibilityRuleEnforcer(ctx RegisterMutatorsContext) { - ctx.BottomUp("visibilityRuleEnforcer", visibilityRuleEnforcer).Parallel() + ctx.BottomUp("visibilityRuleEnforcer", visibilityRuleEnforcer) } // Checks the per-module visibility rule lists before defaults expansion. diff --git a/apex/apex.go b/apex/apex.go index 6bb2a1a5b..30b16eec2 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -55,20 +55,20 @@ func registerApexBuildComponents(ctx android.RegistrationContext) { } func RegisterPreDepsMutators(ctx android.RegisterMutatorsContext) { - ctx.BottomUp("apex_vndk_deps", apexVndkDepsMutator).Parallel().UsesReverseDependencies() + ctx.BottomUp("apex_vndk_deps", apexVndkDepsMutator).UsesReverseDependencies() } func RegisterPostDepsMutators(ctx android.RegisterMutatorsContext) { - ctx.TopDown("apex_info", apexInfoMutator).Parallel() - ctx.BottomUp("apex_unique", apexUniqueVariationsMutator).Parallel() - ctx.BottomUp("apex_test_for_deps", apexTestForDepsMutator).Parallel() - ctx.BottomUp("apex_test_for", apexTestForMutator).Parallel() + ctx.TopDown("apex_info", apexInfoMutator) + ctx.BottomUp("apex_unique", apexUniqueVariationsMutator) + ctx.BottomUp("apex_test_for_deps", apexTestForDepsMutator) + ctx.BottomUp("apex_test_for", apexTestForMutator) // Run mark_platform_availability before the apexMutator as the apexMutator needs to know whether // it should create a platform variant. - ctx.BottomUp("mark_platform_availability", markPlatformAvailability).Parallel() + ctx.BottomUp("mark_platform_availability", markPlatformAvailability) ctx.Transition("apex", &apexTransitionMutator{}) - ctx.BottomUp("apex_directly_in_any", apexDirectlyInAnyMutator).Parallel().MutatesDependencies() - ctx.BottomUp("apex_dcla_deps", apexDCLADepsMutator).Parallel() + ctx.BottomUp("apex_directly_in_any", apexDirectlyInAnyMutator).MutatesDependencies() + ctx.BottomUp("apex_dcla_deps", apexDCLADepsMutator) } type apexBundleProperties struct { @@ -48,10 +48,10 @@ func RegisterCCBuildComponents(ctx android.RegistrationContext) { ctx.PreDepsMutators(func(ctx android.RegisterMutatorsContext) { ctx.Transition("sdk", &sdkTransitionMutator{}) - ctx.BottomUp("llndk", llndkMutator).Parallel() + ctx.BottomUp("llndk", llndkMutator) ctx.Transition("link", &linkageTransitionMutator{}) ctx.Transition("version", &versionTransitionMutator{}) - ctx.BottomUp("begin", BeginMutator).Parallel() + ctx.BottomUp("begin", BeginMutator) }) ctx.PostDepsMutators(func(ctx android.RegisterMutatorsContext) { @@ -59,8 +59,8 @@ func RegisterCCBuildComponents(ctx android.RegistrationContext) { san.registerMutators(ctx) } - ctx.BottomUp("sanitize_runtime_deps", sanitizerRuntimeDepsMutator).Parallel() - ctx.BottomUp("sanitize_runtime", sanitizerRuntimeMutator).Parallel() + ctx.BottomUp("sanitize_runtime_deps", sanitizerRuntimeDepsMutator) + ctx.BottomUp("sanitize_runtime", sanitizerRuntimeMutator) ctx.Transition("fuzz", &fuzzTransitionMutator{}) @@ -72,8 +72,8 @@ func RegisterCCBuildComponents(ctx android.RegistrationContext) { ctx.Transition("lto", <oTransitionMutator{}) - ctx.BottomUp("check_linktype", checkLinkTypeMutator).Parallel() - ctx.BottomUp("double_loadable", checkDoubleLoadableLibraries).Parallel() + ctx.BottomUp("check_linktype", checkLinkTypeMutator) + ctx.BottomUp("double_loadable", checkDoubleLoadableLibraries) }) ctx.PostApexMutators(func(ctx android.RegisterMutatorsContext) { diff --git a/cc/sanitize.go b/cc/sanitize.go index 498ef7c54..118580edd 100644 --- a/cc/sanitize.go +++ b/cc/sanitize.go @@ -176,7 +176,7 @@ func (t SanitizerType) registerMutators(ctx android.RegisterMutatorsContext) { switch t { case cfi, Hwasan, Asan, tsan, Fuzzer, scs, Memtag_stack: sanitizer := &sanitizerSplitMutator{t} - ctx.BottomUp(t.variationName()+"_markapexes", sanitizer.markSanitizableApexesMutator).Parallel() + ctx.BottomUp(t.variationName()+"_markapexes", sanitizer.markSanitizableApexesMutator) ctx.Transition(t.variationName(), sanitizer) case Memtag_heap, Memtag_globals, intOverflow: // do nothing diff --git a/genrule/genrule.go b/genrule/genrule.go index 8721f15c2..c029167d0 100644 --- a/genrule/genrule.go +++ b/genrule/genrule.go @@ -63,7 +63,7 @@ func RegisterGenruleBuildComponents(ctx android.RegistrationContext) { ctx.RegisterModuleType("genrule", GenRuleFactory) ctx.FinalDepsMutators(func(ctx android.RegisterMutatorsContext) { - ctx.BottomUp("genrule_tool_deps", toolDepsMutator).Parallel() + ctx.BottomUp("genrule_tool_deps", toolDepsMutator) }) } diff --git a/java/bootclasspath.go b/java/bootclasspath.go index 029f6f623..3413cf350 100644 --- a/java/bootclasspath.go +++ b/java/bootclasspath.go @@ -29,7 +29,7 @@ func init() { func registerBootclasspathBuildComponents(ctx android.RegistrationContext) { ctx.FinalDepsMutators(func(ctx android.RegisterMutatorsContext) { - ctx.BottomUp("bootclasspath_deps", bootclasspathDepsMutator).Parallel() + ctx.BottomUp("bootclasspath_deps", bootclasspathDepsMutator) }) } diff --git a/java/dexpreopt_bootjars.go b/java/dexpreopt_bootjars.go index 14e201a16..8c60d2399 100644 --- a/java/dexpreopt_bootjars.go +++ b/java/dexpreopt_bootjars.go @@ -465,7 +465,7 @@ func RegisterDexpreoptBootJarsComponents(ctx android.RegistrationContext) { ctx.RegisterParallelSingletonModuleType("dex_bootjars", dexpreoptBootJarsFactory) ctx.RegisterModuleType("art_boot_images", artBootImagesFactory) ctx.FinalDepsMutators(func(ctx android.RegisterMutatorsContext) { - ctx.BottomUp("dex_bootjars_deps", DexpreoptBootJarsMutator).Parallel() + ctx.BottomUp("dex_bootjars_deps", DexpreoptBootJarsMutator) }) } diff --git a/java/java.go b/java/java.go index d97288768..0b48873f6 100644 --- a/java/java.go +++ b/java/java.go @@ -70,9 +70,9 @@ func registerJavaBuildComponents(ctx android.RegistrationContext) { // established, to not get the dependencies split into the wrong variants and // to support the checks in dexpreoptDisabled(). ctx.FinalDepsMutators(func(ctx android.RegisterMutatorsContext) { - ctx.BottomUp("dexpreopt_tool_deps", dexpreoptToolDepsMutator).Parallel() + ctx.BottomUp("dexpreopt_tool_deps", dexpreoptToolDepsMutator) // needs access to ApexInfoProvider which is available after variant creation - ctx.BottomUp("jacoco_deps", jacocoDepsMutator).Parallel() + ctx.BottomUp("jacoco_deps", jacocoDepsMutator) }) ctx.RegisterParallelSingletonType("kythe_java_extract", kytheExtractJavaFactory) diff --git a/rust/rust.go b/rust/rust.go index a044a99dd..b22ebf7e7 100644 --- a/rust/rust.go +++ b/rust/rust.go @@ -47,11 +47,11 @@ func init() { func registerPreDepsMutators(ctx android.RegisterMutatorsContext) { ctx.Transition("rust_libraries", &libraryTransitionMutator{}) ctx.Transition("rust_stdlinkage", &libstdTransitionMutator{}) - ctx.BottomUp("rust_begin", BeginMutator).Parallel() + ctx.BottomUp("rust_begin", BeginMutator) } func registerPostDepsMutators(ctx android.RegisterMutatorsContext) { - ctx.BottomUp("rust_sanitizers", rustSanitizerRuntimeMutator).Parallel() + ctx.BottomUp("rust_sanitizers", rustSanitizerRuntimeMutator) } type Flags struct { |