diff options
author | Anton Hansson <hansson@google.com> | 2019-03-18 15:53:16 +0000 |
---|---|---|
committer | Anton Hansson <hansson@google.com> | 2019-03-21 11:25:46 +0000 |
commit | 53c88448fd2497023cd6403a7aa72a3f763f3e3a (patch) | |
tree | 1300b4096f4c20ba8ac4f67a9dd60554882ff739 /java/androidmk.go | |
parent | 21c81326ff4ee6420e73077ce0f05e3cf5565e29 (diff) | |
download | android_build_soong-53c88448fd2497023cd6403a7aa72a3f763f3e3a.tar.gz android_build_soong-53c88448fd2497023cd6403a7aa72a3f763f3e3a.tar.bz2 android_build_soong-53c88448fd2497023cd6403a7aa72a3f763f3e3a.zip |
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
Diffstat (limited to 'java/androidmk.go')
-rw-r--r-- | java/androidmk.go | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/java/androidmk.go b/java/androidmk.go index 0c3b1c76..5b4f738a 100644 --- a/java/androidmk.go +++ b/java/androidmk.go @@ -257,10 +257,24 @@ func (app *AndroidApp) AndroidMk() android.AndroidMkData { 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) { |