Merge "Support apps attribute in apex_defaults" am: 1d1a920794 am: dc1c78fcd1
Change-Id: I2ae2f868effd2997b2eea6cf8b301e2e04e446d9
diff --git a/apex/apex.go b/apex/apex.go
index 3d7b45d..488d3d3 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -488,9 +488,11 @@
properties apexBundleProperties
targetProperties apexTargetBundleProperties
- vndkProperties apexVndkProperties
overridableProperties overridableProperties
+ // specific to apex_vndk modules
+ vndkProperties apexVndkProperties
+
bundleModuleFile android.WritablePath
outputFile android.WritablePath
installDir android.InstallPath
@@ -1278,6 +1280,7 @@
module.AddProperties(
&apexBundleProperties{},
&apexTargetBundleProperties{},
+ &overridableProperties{},
)
android.InitDefaultsModule(module)
diff --git a/apex/apex_test.go b/apex/apex_test.go
index 4f0ab3a..0c6572b 100644
--- a/apex/apex_test.go
+++ b/apex/apex_test.go
@@ -532,6 +532,62 @@
ensureListContains(t, noticeInputs, "custom_notice")
}
+func TestDefaults(t *testing.T) {
+ ctx, _ := testApex(t, `
+ apex_defaults {
+ name: "myapex-defaults",
+ key: "myapex.key",
+ prebuilts: ["myetc"],
+ native_shared_libs: ["mylib"],
+ java_libs: ["myjar"],
+ apps: ["AppFoo"],
+ }
+
+ prebuilt_etc {
+ name: "myetc",
+ src: "myprebuilt",
+ }
+
+ apex {
+ name: "myapex",
+ defaults: ["myapex-defaults"],
+ }
+
+ apex_key {
+ name: "myapex.key",
+ public_key: "testkey.avbpubkey",
+ private_key: "testkey.pem",
+ }
+
+ cc_library {
+ name: "mylib",
+ system_shared_libs: [],
+ stl: "none",
+ }
+
+ java_library {
+ name: "myjar",
+ srcs: ["foo/bar/MyClass.java"],
+ sdk_version: "none",
+ system_modules: "none",
+ compile_dex: true,
+ }
+
+ android_app {
+ name: "AppFoo",
+ srcs: ["foo/bar/MyClass.java"],
+ sdk_version: "none",
+ system_modules: "none",
+ }
+ `)
+ ensureExactContents(t, ctx, "myapex", []string{
+ "etc/myetc",
+ "javalib/myjar.jar",
+ "lib64/mylib.so",
+ "app/AppFoo/AppFoo.apk",
+ })
+}
+
func TestApexManifest(t *testing.T) {
ctx, _ := testApex(t, `
apex {