Resource configs should not be deduped when building RROs since it
would be impossible to override some resource configs with the same
value as the default config. Also, aapt2 removes resources that do not
have default configurations. If an overlay attempts to overlay a
non-default configuration without overlaying the default, the resource
will be removed and the value will not be overlaid at all.
Bug: 146227008
Test: m-j
Change-Id: I1465b599cbf7f464d1b5b75a87e7dafa2cf734b0
This was used by BUILT_SYSTEM_MATRIX and BUILT_ASSEMBLED_VENDOR_MANIFEST, but they
are deleted now.
Test: builds
Change-Id: Ie7e242dce9c6511b90fcf06ae4b6926b230b9873
Building device_manifest.xml or device_compatibility_matrix.xml only
builds vendor manifest / matrices, but not all device manifest /
matrices (e.g. vintf_fragments, ODM manifest, etc.). Make the name more
accurate.
Test: m check-vintf-all
Change-Id: Ib017507c421355263d53a9e5b357f169c77da36d
* HTML emit functions now take a writer parameter.
This makes warn_common.py one step closer to the ChromeOS version.
* Add new found warning patterns from java and yacc.
Test: warn.py --url=http://cs/android --separator='?l=' build.log > warnings.html
Test: warn.py --gencsv build.log > warnings.csv
Change-Id: I5c446ca767746598f07603591fdf98f7d82cae17
* Remove the useless 'option' key.
It is only used in some C/C++ warning patterns
to give a hint of options to turn to -Werror.
Now the global default is -Werror.
* Factor out common code patterns into high/medium/low functions.
Test: warn.py --url=http://cs/android --separator='?l=' build.log > warnings.html
Test: warn.py --gencsv build.log > warnings.csv
Change-Id: Ibd3f768b1552ada925eb5afb0f01ab674c968a87
They are moved into check-vintf-all, which is more
accurate and do not require building full OS images.
Also move kernel check code down to check_vintf_compatible. There
is no assembled manifest to put kernel configs now, but they are still
required for build time OTA VINTF checks.
Test: builds
Test: change a vintf_fragment file to cause a conflict with main manifest file
(add health@2.0 to boot@1.1.xml), and check_vintf_vendor_log fails
Change-Id: I9791abc440a40e1537b4387eb67575ff2e22df08
There are currently no classes on the bootclasspath that live in the
unnamed package (empty package name). This CL explicitly forbids it.
This has the side effect of guarding against some classes of bugs,
for example R8 has functionality to generate some helper classes in
the unnamed package that should not be on the to bootclasspath
because they would hide corresponding classes in Applications.
Strictly speaking I believe that the "not package_name or " part
of the condition in the touched script is not needed because
LoadWhitelist() already skips empty lines and doesn't add "^$" to
the whitelist regex, but relying on this seems very fragile. If
there ever is a need to have classes in the bootclasspath's
unnamed package in future then we can always change this again.
Bug: 147480264
Test: Treehugger
Change-Id: Ic310dd0779dde133b3a5c3039ea5b70d31331a9b
PRODUCT_PRODUCT_VNDK_VERSION will be automatically set to true for
the devices with PRODUCT_SHIPPING_API_LEVEL newer than 29.
Bug: 146621746
Test: build with PRODUCT_SHIPPING_API_LEVEL set to 30
Change-Id: I78cd81d1d61e9089b163169bc495df8a880463da
* This new class definition and patterns are
shared between Android and ChromeOS compiler tools.
* Suppress hard to fix and false positive linter warnings.
Test: warn.py --url=http://cs/android --separator='?l=' build.log > warnings.html
Test: warn.py --gencsv build.log > warnings.csv
Change-Id: Icb47809100ad30796cb1da82610e989d450194fa
Add target that checks VINTF compatibility of the current build
(in $PRODUCT_OUT) properly. The target:
- Doesn't require a full build
- Won't run for system-only AOSP targets
A verbose log is printed if `m check-vintf-compatible` is executed,
but it won't show up if `m` is executed.
(After this patch, adding product / system_ext matrices is as simple
as defining a vintf_compatibility_matrix in Soong, and VINTF
compatibility is properly checked.)
Test: m check-vintf-all
Test: delete */etc/vintf and m check-vintf-all
Test: m
Test: m check-vintf-all on device with vendor/odm and ODM SKU-specific
manifests
Test: change manifest.xml to be incompatible and m check-vintf-all fails
Bug: 140280874
Bug: 140360109
Change-Id: I6ee79910d745d29cfc9b05b1435e26f91b7c10f7
Jars in APEXes have Make module names <jar_name>.<apex_name>. e.g.
updatable-apex.com.android.media. Previously, we have used <jar_name>
which actually meant the platform variant of the jar. This is not only
incorrect, but also is causing problem as the platform variant is no
longer available when the jar is configured to be available only for the
corresponding APEX (via the apex_available property).
Fixing the problem by correctly using <jar_name>.<apex_name> scheme.
Bug: N/A
Test: m
Change-Id: I6e255ce88c9bd80120b29197fb2637a64010f531
Merged-In: I6e255ce88c9bd80120b29197fb2637a64010f531
The module is getting renamed to sdkextensions.
Bug: 137191822
Test: presubmit
Change-Id: I628fc555b82e9bd931c8f0cce2222b02efad6036
Merged-In: I628fc555b82e9bd931c8f0cce2222b02efad6036
(cherry picked from commit 37e998ac31)
jacoco-report-classes-all.jar now depends on all installed files
including apks in /apex. Previously, it depended only on files under
system.img and as a result jacoco for other partitions were missing.
Bug: 147296855
Test: m
Change-Id: I755de1205ebc43c197af36a13cca5f4b49e275e8