From 86feead0d5f836e5c0c6298b6b0e3b6c691be4df Mon Sep 17 00:00:00 2001 From: Jooyung Han Date: Mon, 8 Mar 2021 13:11:48 +0900 Subject: [PATCH] Run "prebuilt_postdeps" mutator again Because OverridablePropertiesDepsMutator is run after prebuilt_postdeps, prebuilt's replacement doesn't affect to those deps added by overridable properties. By running prebuilt_postdeps again after OverridablePropertiesDepsMutator, replacing source with prebuilts is applied to those deps. Bug: 152155285 Bug: 181953909 Bug: 181974714 Test: m nothing Change-Id: I24acc02785c9580c2beca096042f1173eb28ba9a --- android/override_module.go | 7 +++++++ apex/apex_test.go | 3 +-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/android/override_module.go b/android/override_module.go index fa0856631..97acc5c36 100644 --- a/android/override_module.go +++ b/android/override_module.go @@ -215,7 +215,14 @@ func RegisterOverridePostDepsMutators(ctx RegisterMutatorsContext) { ctx.BottomUp("override_deps", overrideModuleDepsMutator).Parallel() ctx.TopDown("register_override", registerOverrideMutator).Parallel() ctx.BottomUp("perform_override", performOverrideMutator).Parallel() + // overridableModuleDepsMutator calls OverridablePropertiesDepsMutator so that overridable modules can + // add deps from overridable properties. ctx.BottomUp("overridable_deps", overridableModuleDepsMutator).Parallel() + // 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() ctx.BottomUp("replace_deps_on_override", replaceDepsOnOverridingModuleMutator).Parallel() } diff --git a/apex/apex_test.go b/apex/apex_test.go index 991f5c9e9..3e5ba7fc7 100644 --- a/apex/apex_test.go +++ b/apex/apex_test.go @@ -5207,8 +5207,7 @@ func TestApexWithAppImportsPrefer(t *testing.T) { })) ensureExactContents(t, ctx, "myapex", "android_common_myapex_image", []string{ - // TODO(b/181974714) - this is wrong it should be "app/AppFoo/AppFooPrebuilt.apk" - "app/AppFoo/AppFoo.apk", + "app/AppFoo/AppFooPrebuilt.apk", }) }