12 Commits

Author SHA1 Message Date
Treehugger Robot
b2730fbf36 Merge "rearrange app-related artifact path in make" am: 73d29f11b8 am: 28ecb7a712 am: 5c63493c1a
Original change: https://android-review.googlesource.com/c/platform/build/+/2554553

Change-Id: Ie9861e6a979af1bf3e3edc4f6af7c17001acdba4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-24 19:35:32 +00:00
Jeongik Cha
ba1b925e47 rearrange app-related artifact path in make
* move package-res.apk related files to "common" intermediate dir as
  aapt2.srcjar does because it is an app which is supposed to be arch
  neutral
* add device name in auto-gen RRO to avoid conflicits

Bug: 279358050
Bug: 279360102
Test: m
Change-Id: Ibcc5e5546bd43767ab0d4807933eeb57d58f99d6
2023-04-24 13:16:32 +00:00
Yurii Zubrytskyi
40d69a1250 Store raw values for rro attributes
aapt2 changes the values of xml attributes when compiling, and
this may break applications that rely on the exact string
representation of those. This CL adds an aapt2 command line
switch to preserve the original values

Bug: 194436243
Test: manual
Change-Id: Id352cbf209739fd9a094de9068d12049ea6e3e51
2022-02-17 12:27:08 -08:00
Jeongik Cha
f93c13d51b RRO shouldn't depend on frameworks or system(_ext) app when TARGET_BUILD_UNBUNDLED
In the case of unbundled build, the module in vendor should use
system(_ext) module by prebuilt one. But RRO depends on system module
directly depending on some conditions(packages exporting resources)

In this change,
 1. Temporarily make LOCAL_RES_LIBRARIES empty(For now, auto generated
 RRO doesn't use overlaid package's resources), enable it when prebuilts
 are ready.
 2. According to (1), its SDK_VERSION can be current)

Bug: 187404676
Test: TARGET_BUILD_UNBUNDLED_IMAGE m vendorimage, and check if there is
no build error regarding RRO.

Change-Id: I94e3122372dd20c942b2c858070a6ca797312792
2021-06-02 00:01:01 +09:00
Anton Hansson
0db6e92129 Don't sign auto-generated RROs with platform cert
Preinstalled overlays needn't be signed with the same cert
as the package it overlays, simply being preinstalled is
enough. Sign with the default cert instead for now, which
provides fewer special privileges.

Bug: 129373833
Test: internal overlay test
Change-Id: Ie18f7ff749e3f079600f74203664bcb6d11f9d6a
2019-05-01 16:42:56 +01:00
Anton Hansson
cb8276fa93 Put DEVICE/PRODUCT overlays in different partitions
This change changes auto-generated RROs from DEVICE_PACKAGE_OVERLAYS
to be generated in the vendor partition, as opposed to /product where
they were generated in the past.

Note that PRODUCT_PACKAGE_OVERLAYS continue generating RRO packages
to /product, which means that a single app can be overlayed from
different partitions. These RROs have been given module and package
names based on their location.

Bug: 127758779
Test: verify noop on presubmit targets
Change-Id: I5cee70e28e3969e67b2d83eaf25d9c6e3a11102d
2019-03-22 13:25:20 +00:00
Anton Hansson
08231e1786 Refactor generate_enforce_rro
A few tweaks to make it easier to extend to generating RROs in
multiple partitions:
- deduce the module name inside generate_enforce_rro
- dedup rule definition
- tweak framework-res check to use source module name instead

Bug: 127758779
Test: verify noop on presubmit targets
Change-Id: I2f0d6270b21f5427c372c04a5c6e7fb712e72a9a
2019-03-18 14:21:09 +00:00
Anton Hansson
95958eefa9 Change RRO default location to /product
This changes the default location of RRO packages that don't
specify where they should be installed to /product instead of
/vendor.

Also change the auto-generated "enforced RRO" packages to install
on /product, and be explicit about that in the mk to make it
independent of the RRO default.

The reasoning for this change is that most overlays tend to be
for product level customizations, like themes and so on. RROs
for hardware related things can still be explicitly installed
on /vendor.

Bug: 123566903
Test: preubmit
Test: various internal tests
Change-Id: Ie7d5f19dc7ab421a7bcf584153f991e18e961cda
2019-02-07 13:06:18 +00:00
Anton Hansson
038177ba55 Exempt some RROs from building against SDK
If an RRO is depending on the source module to import its resources,
this trips up the link check because the source module may not be
building against the SDK. Exempt these RROs from the rule.

Bug: 123510624
Test: m
Change-Id: Ie0e05ce6d31dd3a0eafb14ace426da2bc15fb740
2019-01-29 15:21:25 +00:00
Anton Hansson
8549417b69 Set LOCAL_SDK_VERSION := current for RROs
For sanity, and to silence the error of not setting
PRIVATE_PLATFORM_APIS or LOCAL_SDK_VERSION.

Exempt framework-res from this, as it can't build against the SDK.
Also tweak the previous whitelisting to be more specifically for
framework-res.

Bug: 118823052
Test: make downstream products
Change-Id: Ia15aaa3b1ea95e02e3483673b668ed2cbca76ba9
2018-11-01 18:48:28 +00:00
Colin Cross
fdea893833 Replace build/tools with build/make/tools
Test: m checkbuild
Change-Id: I8db6c27a6d2372f142d10568fe92d6f2e9a59252
2017-12-06 16:12:40 -08:00
Jaekyun Seok
3070610b72 Enforce RROs for all the build-time ROs
This CL is to generate every static RRO package for its target package
automatically at build-time.

BOARD_ENFORCE_RRO build variable is added to specify whether enforcing
RRO is required or not.

BOARD_ENFORCE_RRO_EXEMPT_SOURCES build variable is added to specify
the module list of which item should be exempt from enforcing RRO.

Test: tested on bullhead and sailfish
Bug: 34097942
Change-Id: I455b2ce34e66c57a540c299b5e378b7c4e78d5b8
2017-03-14 23:55:50 +09:00