From 01d80d8b4bd2ec74dffe9b093f476603264368bd Mon Sep 17 00:00:00 2001 From: Jooyung Han Date: Sat, 8 Jan 2022 12:16:32 +0900 Subject: Make android_app.stem overridable override_android_app can set "stem" property to set the APK name. Bug: 193504286 Test: m (soong test) Change-Id: I9ad66ea28bd1b030cb2c588d1f070d72e62ab1c7 --- java/app_test.go | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) (limited to 'java/app_test.go') diff --git a/java/app_test.go b/java/app_test.go index ef638ad4e..d9667b980 100644 --- a/java/app_test.go +++ b/java/app_test.go @@ -1981,6 +1981,80 @@ func TestOverrideAndroidApp(t *testing.T) { } } +func TestOverrideAndroidAppStem(t *testing.T) { + ctx, _ := testJava(t, ` + android_app { + name: "foo", + srcs: ["a.java"], + sdk_version: "current", + } + override_android_app { + name: "bar", + base: "foo", + } + override_android_app { + name: "baz", + base: "foo", + stem: "baz_stem", + } + android_app { + name: "foo2", + srcs: ["a.java"], + sdk_version: "current", + stem: "foo2_stem", + } + override_android_app { + name: "bar2", + base: "foo2", + } + override_android_app { + name: "baz2", + base: "foo2", + stem: "baz2_stem", + } + `) + for _, expected := range []struct { + moduleName string + variantName string + apkPath string + }{ + { + moduleName: "foo", + variantName: "android_common", + apkPath: "out/soong/target/product/test_device/system/app/foo/foo.apk", + }, + { + moduleName: "foo", + variantName: "android_common_bar", + apkPath: "out/soong/target/product/test_device/system/app/bar/bar.apk", + }, + { + moduleName: "foo", + variantName: "android_common_baz", + apkPath: "out/soong/target/product/test_device/system/app/baz_stem/baz_stem.apk", + }, + { + moduleName: "foo2", + variantName: "android_common", + apkPath: "out/soong/target/product/test_device/system/app/foo2_stem/foo2_stem.apk", + }, + { + moduleName: "foo2", + variantName: "android_common_bar2", + // Note that this may cause the duplicate output error. + apkPath: "out/soong/target/product/test_device/system/app/foo2_stem/foo2_stem.apk", + }, + { + moduleName: "foo2", + variantName: "android_common_baz2", + apkPath: "out/soong/target/product/test_device/system/app/baz2_stem/baz2_stem.apk", + }, + } { + variant := ctx.ModuleForTests(expected.moduleName, expected.variantName) + variant.Output(expected.apkPath) + } +} + func TestOverrideAndroidAppDependency(t *testing.T) { ctx, _ := testJava(t, ` android_app { -- cgit v1.2.3-59-g8ed1b