From 5ea9bcc50be4259de861e9bced4681881c276611 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Thu, 27 Jul 2017 15:41:32 -0700 Subject: [PATCH] Fix java prebuilts The java prebuilt tests weren't registering the prebuilts mutators, which hid an issue where prebuilts modules weren't getting renamed to avoid collisions with source modules of the same name, which ended up causing the prebuilt module to try to add a dependency on itself. Test: java_test.go Change-Id: I3327d27533591cb08a4b8b8b5e1668a6f72be8df --- android/mutator.go | 4 ++-- android/prebuilt.go | 4 ++-- android/prebuilt_test.go | 4 ++-- java/java.go | 4 ++++ java/java_test.go | 2 ++ 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/android/mutator.go b/android/mutator.go index c8f3e8fee..e20bc2ce2 100644 --- a/android/mutator.go +++ b/android/mutator.go @@ -74,7 +74,7 @@ var preArch = []RegisterMutatorFunc{ func(ctx RegisterMutatorsContext) { ctx.TopDown("load_hooks", loadHookMutator).Parallel() }, - registerPrebuiltsPreArchMutators, + RegisterPrebuiltsPreArchMutators, RegisterDefaultsPreArchMutators, } @@ -86,7 +86,7 @@ var preDeps = []RegisterMutatorFunc{ } var postDeps = []RegisterMutatorFunc{ - registerPrebuiltsPostDepsMutators, + RegisterPrebuiltsPostDepsMutators, } func PreArchMutators(f RegisterMutatorFunc) { diff --git a/android/prebuilt.go b/android/prebuilt.go index 080df919d..507aa5fbe 100644 --- a/android/prebuilt.go +++ b/android/prebuilt.go @@ -61,11 +61,11 @@ type PrebuiltInterface interface { Prebuilt() *Prebuilt } -func registerPrebuiltsPreArchMutators(ctx RegisterMutatorsContext) { +func RegisterPrebuiltsPreArchMutators(ctx RegisterMutatorsContext) { ctx.BottomUp("prebuilts", prebuiltMutator).Parallel() } -func registerPrebuiltsPostDepsMutators(ctx RegisterMutatorsContext) { +func RegisterPrebuiltsPostDepsMutators(ctx RegisterMutatorsContext) { ctx.TopDown("prebuilt_select", PrebuiltSelectModuleMutator).Parallel() ctx.BottomUp("prebuilt_replace", PrebuiltReplaceMutator).Parallel() } diff --git a/android/prebuilt_test.go b/android/prebuilt_test.go index fe763eddc..774a15c6b 100644 --- a/android/prebuilt_test.go +++ b/android/prebuilt_test.go @@ -123,8 +123,8 @@ func TestPrebuilts(t *testing.T) { for _, test := range prebuiltsTests { t.Run(test.name, func(t *testing.T) { ctx := NewTestContext() - ctx.PreArchMutators(registerPrebuiltsPreArchMutators) - ctx.PostDepsMutators(registerPrebuiltsPostDepsMutators) + ctx.PreArchMutators(RegisterPrebuiltsPreArchMutators) + ctx.PostDepsMutators(RegisterPrebuiltsPostDepsMutators) ctx.RegisterModuleType("prebuilt", ModuleFactoryAdaptor(newPrebuiltModule)) ctx.RegisterModuleType("source", ModuleFactoryAdaptor(newSourceModule)) ctx.Register() diff --git a/java/java.go b/java/java.go index 1ef1c2661..f7191bfbc 100644 --- a/java/java.go +++ b/java/java.go @@ -531,6 +531,10 @@ func (j *Prebuilt) Prebuilt() *android.Prebuilt { return &j.prebuilt } +func (j *Prebuilt) Name() string { + return j.prebuilt.Name(j.ModuleBase.Name()) +} + func (j *Prebuilt) DepsMutator(ctx android.BottomUpMutatorContext) { } diff --git a/java/java_test.go b/java/java_test.go index 344361058..de3be494a 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -57,6 +57,8 @@ func testJava(t *testing.T, bp string) *android.TestContext { ctx.RegisterModuleType("java_library", android.ModuleFactoryAdaptor(LibraryFactory)) ctx.RegisterModuleType("java_prebuilt_library", android.ModuleFactoryAdaptor(PrebuiltFactory)) ctx.RegisterModuleType("java_defaults", android.ModuleFactoryAdaptor(defaultsFactory)) + ctx.PreArchMutators(android.RegisterPrebuiltsPreArchMutators) + ctx.PreArchMutators(android.RegisterPrebuiltsPostDepsMutators) ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators) ctx.Register()