Add overrides to runtime_resource_overlay
Bug: 154928457 Test: app_test.go Change-Id: Ia52bb9fd18c22b1a02d7b36afd41561cec0473f0
This commit is contained in:
parent
0b848b01e8
commit
bfc6ac0096
3 changed files with 20 additions and 3 deletions
|
@ -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...)
|
||||
},
|
||||
},
|
||||
}}
|
||||
|
|
|
@ -1365,6 +1365,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) {
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue