Separate device and product overlays
This change adds book-keeping of whether an overlay came from
DEVICE_PACKAGE_OVERLAYS or PRODUCT_PACKAGE_OVERLAYS. This is
later used when writing the output to soong_app_prebuilt.mk, to
use either LOCAL_SOONG_[DEVICE|PRODUCT]_RRO_PACKAGES depending
on the original source.
This change is intended to be a noop on its own, but allows a
follow-up make change to customize the location of the auto-generated
RRO packages.
Bug: 127758779
Test: verify noop on presubmit targets
Change-Id: Ib24fe1d05be132c360dd6966f7c83968c9939f77
diff --git a/java/androidmk.go b/java/androidmk.go
index 0c3b1c7..5b4f738 100644
--- a/java/androidmk.go
+++ b/java/androidmk.go
@@ -257,10 +257,24 @@
fmt.Fprintln(w, "LOCAL_NO_STANDARD_LIBRARIES := true")
}
- if len(app.rroDirs) > 0 {
+ filterRRO := func(filter overlayType) android.Paths {
+ var paths android.Paths
+ for _, d := range app.rroDirs {
+ if d.overlayType == filter {
+ paths = append(paths, d.path)
+ }
+ }
// Reverse the order, Soong stores rroDirs in aapt2 order (low to high priority), but Make
// expects it in LOCAL_RESOURCE_DIRS order (high to low priority).
- fmt.Fprintln(w, "LOCAL_SOONG_RRO_DIRS :=", strings.Join(android.ReversePaths(app.rroDirs).Strings(), " "))
+ return android.ReversePaths(paths)
+ }
+ deviceRRODirs := filterRRO(device)
+ if len(deviceRRODirs) > 0 {
+ fmt.Fprintln(w, "LOCAL_SOONG_DEVICE_RRO_DIRS :=", strings.Join(deviceRRODirs.Strings(), " "))
+ }
+ productRRODirs := filterRRO(product)
+ if len(productRRODirs) > 0 {
+ fmt.Fprintln(w, "LOCAL_SOONG_PRODUCT_RRO_DIRS :=", strings.Join(productRRODirs.Strings(), " "))
}
if Bool(app.appProperties.Export_package_resources) {