Merge "Fix prebuilts of overridden apps"

This commit is contained in:
Treehugger Robot
2022-05-17 19:03:42 +00:00
committed by Gerrit Code Review
3 changed files with 36 additions and 6 deletions

View File

@@ -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,
}}

View File

@@ -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
}

View File

@@ -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 {