diff --git a/java/androidmk.go b/java/androidmk.go index 4a75d3070..330e594bf 100644 --- a/java/androidmk.go +++ b/java/androidmk.go @@ -324,7 +324,7 @@ func (binary *Binary) AndroidMkEntries() []android.AndroidMkEntries { } func (app *AndroidApp) AndroidMkEntries() []android.AndroidMkEntries { - if app.hideApexVariantFromMake || app.appProperties.HideFromMake { + if app.hideApexVariantFromMake || app.IsHideFromMake() { return []android.AndroidMkEntries{android.AndroidMkEntries{ Disabled: true, }} diff --git a/java/app.go b/java/app.go index 3c97a4f46..2bb116ad6 100755 --- a/java/app.go +++ b/java/app.go @@ -99,7 +99,6 @@ type appProperties struct { // cc.Coverage related properties PreventInstall bool `blueprint:"mutated"` - HideFromMake bool `blueprint:"mutated"` IsCoverageVariant bool `blueprint:"mutated"` // Whether this app is considered mainline updatable or not. When set to true, this will enforce @@ -880,10 +879,6 @@ func (a *AndroidApp) SetPreventInstall() { a.appProperties.PreventInstall = true } -func (a *AndroidApp) HideFromMake() { - a.appProperties.HideFromMake = true -} - func (a *AndroidApp) MarkAsCoverageVariant(coverage bool) { a.appProperties.IsCoverageVariant = coverage } diff --git a/java/app_test.go b/java/app_test.go index b91e7e0fc..c4ac4dfdb 100644 --- a/java/app_test.go +++ b/java/app_test.go @@ -2042,6 +2042,41 @@ func TestOverrideAndroidAppOverrides(t *testing.T) { } } +func TestOverrideAndroidAppWithPrebuilt(t *testing.T) { + result := PrepareForTestWithJavaDefaultModules.RunTestWithBp( + t, ` + android_app { + name: "foo", + srcs: ["a.java"], + sdk_version: "current", + } + + override_android_app { + name: "bar", + base: "foo", + } + + android_app_import { + name: "bar", + prefer: true, + apk: "bar.apk", + presigned: true, + } + `) + + // An app that has an override that also has a prebuilt should not be hidden. + foo := result.ModuleForTests("foo", "android_common") + if foo.Module().IsHideFromMake() { + t.Errorf("expected foo to have HideFromMake false") + } + + // An override that also has a prebuilt should be hidden. + barOverride := result.ModuleForTests("foo", "android_common_bar") + if !barOverride.Module().IsHideFromMake() { + t.Errorf("expected bar override variant of foo to have HideFromMake true") + } +} + func TestOverrideAndroidAppStem(t *testing.T) { ctx, _ := testJava(t, ` android_app {