diff options
author | Jaewoong Jung <jungjw@google.com> | 2020-04-26 21:51:03 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-04-26 21:51:03 +0000 |
commit | c6026cd4ea8ffe335acc19011fd35d5135397409 (patch) | |
tree | fb0e36366f702fff0d5eeed2499c878bb7673824 /java | |
parent | 172e6fc12a9bc6646481384306e920658d645186 (diff) | |
parent | bfc6ac009670b8e3f5e33aa4bdd888baeb4ef5e9 (diff) | |
download | build_soong-c6026cd4ea8ffe335acc19011fd35d5135397409.tar.gz build_soong-c6026cd4ea8ffe335acc19011fd35d5135397409.tar.bz2 build_soong-c6026cd4ea8ffe335acc19011fd35d5135397409.zip |
Merge "Add overrides to runtime_resource_overlay" into rvc-dev
Diffstat (limited to 'java')
-rw-r--r-- | java/androidmk.go | 1 | ||||
-rwxr-xr-x | java/app.go | 7 | ||||
-rw-r--r-- | java/app_test.go | 15 |
3 files changed, 20 insertions, 3 deletions
diff --git a/java/androidmk.go b/java/androidmk.go index 7d575253..6f24f34d 100644 --- a/java/androidmk.go +++ b/java/androidmk.go @@ -671,6 +671,7 @@ func (r *RuntimeResourceOverlay) AndroidMkEntries() []android.AndroidMkEntries { func(entries *android.AndroidMkEntries) { entries.SetString("LOCAL_CERTIFICATE", r.certificate.AndroidMkString()) entries.SetPath("LOCAL_MODULE_PATH", r.installDir.ToMakePath()) + entries.AddStrings("LOCAL_OVERRIDES_PACKAGES", r.properties.Overrides...) }, }, }} diff --git a/java/app.go b/java/app.go index 2762426a..0ec2502b 100755 --- a/java/app.go +++ b/java/app.go @@ -1374,6 +1374,13 @@ type RuntimeResourceOverlayProperties struct { // list of android_app modules whose resources are extracted and linked against Resource_libs []string + + // Names of modules to be overridden. Listed modules can only be other overlays + // (in Make or Soong). + // This does not completely prevent installation of the overridden overlays, but if both + // overlays would be installed by default (in PRODUCT_PACKAGES) the other overlay will be removed + // from PRODUCT_PACKAGES. + Overrides []string } func (r *RuntimeResourceOverlay) DepsMutator(ctx android.BottomUpMutatorContext) { diff --git a/java/app_test.go b/java/app_test.go index 4458d4e4..b1c8b63d 100644 --- a/java/app_test.go +++ b/java/app_test.go @@ -2463,6 +2463,7 @@ func TestRuntimeResourceOverlay(t *testing.T) { certificate: "platform", product_specific: true, theme: "faza", + overrides: ["foo"], } android_library { @@ -2510,14 +2511,15 @@ func TestRuntimeResourceOverlay(t *testing.T) { if expected != signingFlag { t.Errorf("Incorrect signing flags, expected: %q, got: %q", expected, signingFlag) } - path := android.AndroidMkEntriesForTest(t, config, "", m.Module())[0].EntryMap["LOCAL_CERTIFICATE"] + androidMkEntries := android.AndroidMkEntriesForTest(t, config, "", m.Module())[0] + path := androidMkEntries.EntryMap["LOCAL_CERTIFICATE"] expectedPath := []string{"build/make/target/product/security/platform.x509.pem"} if !reflect.DeepEqual(path, expectedPath) { t.Errorf("Unexpected LOCAL_CERTIFICATE value: %v, expected: %v", path, expectedPath) } // Check device location. - path = android.AndroidMkEntriesForTest(t, config, "", m.Module())[0].EntryMap["LOCAL_MODULE_PATH"] + path = androidMkEntries.EntryMap["LOCAL_MODULE_PATH"] expectedPath = []string{"/tmp/target/product/test_device/product/overlay"} if !reflect.DeepEqual(path, expectedPath) { t.Errorf("Unexpected LOCAL_MODULE_PATH value: %v, expected: %v", path, expectedPath) @@ -2525,9 +2527,16 @@ func TestRuntimeResourceOverlay(t *testing.T) { // A themed module has a different device location m = ctx.ModuleForTests("foo_themed", "android_common") - path = android.AndroidMkEntriesForTest(t, config, "", m.Module())[0].EntryMap["LOCAL_MODULE_PATH"] + androidMkEntries = android.AndroidMkEntriesForTest(t, config, "", m.Module())[0] + path = androidMkEntries.EntryMap["LOCAL_MODULE_PATH"] expectedPath = []string{"/tmp/target/product/test_device/product/overlay/faza"} if !reflect.DeepEqual(path, expectedPath) { t.Errorf("Unexpected LOCAL_MODULE_PATH value: %v, expected: %v", path, expectedPath) } + + overrides := androidMkEntries.EntryMap["LOCAL_OVERRIDES_PACKAGES"] + expectedOverrides := []string{"foo"} + if !reflect.DeepEqual(overrides, expectedOverrides) { + t.Errorf("Unexpected LOCAL_OVERRIDES_PACKAGES value: %v, expected: %v", overrides, expectedOverrides) + } } |