Protect against an invalid boot jar, e.g. one containing .dex files is
used instead of .class files.
Test: add a prebuilt for framework-tethering
Run `m check-boot-jars` with the first fix from
https://r.android.com/1341756 and the build fails due to no
.class files because a dex jar is used.
Run `m check-boot-jars` with all fixeds from
https://r.android.com/1341756 and the build works.
Bug: 158304459
Bug: 159112414
Change-Id: I0e8ebd318312949bc58ba7a5c89f9e265b8bedf2
A few more misc improvements that I found while analyzing the
performance of base_rules.mk.
This brings an aosp-master/aosp_crosshatch-userdebug kati run from 33.3s
to 28.6s
Bug: 158488548
Test: build-aosp_crosshatch.ninja is the same before/after
Change-Id: If99c31cc7b5d7133d70eb644c6095f19060b71e5
Merged-In: If99c31cc7b5d7133d70eb644c6095f19060b71e5
(cherry picked from commit 8447b8116a)
New jar that needs to be packaged for suites.
Test: make cts
Bug: 149758913
Bug: 156482663
Merged-In: If29508f3dd30939be603ed03f2536c960ca40d92
Change-Id: If50a1e76ffdb4651bf004b26eb111e113569c6c4
This reverts commit 6e1fa4452b.
Reason for revert: relanding a reverted changed
Bug: 153073816
Test: m
Exempt-From-Owner-Approval: cherry-pick from AOSP
Merged-In: I3735866776cf6eb0320c9fb8c6be8ac0c48baa1c
(cherry picked from commit 403c255b6f)
Change-Id: I3735866776cf6eb0320c9fb8c6be8ac0c48baa1c
BUG: 149826779
Test: Build x86, x86_64, armv7 and arm64
make sure x86/64 boot to home screen;
armv7/arm64 can pass disk mounting stage
Change-Id: I258b69bd0cdc4fb0a99b1a04567051e8d32c389a
Merged-In: I258b69bd0cdc4fb0a99b1a04567051e8d32c389a
The target has been removed from all builders.
Bug: 151896491
Test: none
Change-Id: I5d1b1058b18153c9cedb33b151dec8daab3e2e57
Merged-In: I5d1b1058b18153c9cedb33b151dec8daab3e2e57
This change collects the shared libraries files used by tests in
device-tests_host_shared-libs.zip. Then the host test can be run in
TradeFed host based on build artifacts.
Bug: 151172861
Test: m -j device-tests
Change-Id: Iac7cfe1310f2c63ace42272d41a54a032bc102bc
Merged-In: Iac7cfe1310f2c63ace42272d41a54a032bc102bc
The current package logic is based on general-tests and device-tests,
which have special rules to package test artifacts in a diffrent way.
vts-core suite should follow the generic *ts package rule.
Bug: 149249068
Test: m -j vts-core && vts-core-tradefed
run some vts-core test
Change-Id: Ib6ab7eb0fb4b8c898a0b3617d10be04dc98c2daa
This is to unify boot jars with system server jars:
PRODUCT_SYSTEM_SERVER_JARS and PRODUCT_UPDATABLE_SYSTEM_SERVER_JARS
do not overlap.
Test: aosp_walleye-userdebug boots
Exempt-From-Owner-Approval: cherry-pick.
Bug: 146363577
Change-Id: Ief8994cc34cb6f7951051313dd66a1334a3a73b4
Merged-In: Ief8994cc34cb6f7951051313dd66a1334a3a73b4
(cherry picked from commit 19ed3a0db7)
This is to unify boot jars with system server jars:
PRODUCT_SYSTEM_SERVER_JARS and PRODUCT_UPDATABLE_SYSTEM_SERVER_JARS
do not overlap.
Test: walleye-userdebug boots
Bug: 146363577
Change-Id: Ief8994cc34cb6f7951051313dd66a1334a3a73b4
Every warning has been fixed on master now.
Test: multiproduct_kati (build_test through treehugger)
Change-Id: I5bbbb3bd330422f976cb13d9078c5e192f135dc4
Vendor snapshot can be captured with "m dist vendor-snapshot". With
vendor snapshot and vndk snapshot, older version of /vendor and newer
version of /system will be able to be built together by setting
BOARD_VNDK_VERSION to past vendor's version.
Only vendor modules under AOSP are to be captured. In detail, modules
under following directories are ignored:
- cts/
- device/
- external/clang/
- external/llvm/
- hardware/, except for:
- interfaces/, libhardware/, libhardware_legacy/, ril/
- vendor/
Bug: 65377115
Test: m dist vendor-snapshot
Change-Id: Ib5859e409f8ab281ca137cae21e9ea08abd8a0b1
The test lists keep getting out of date. Add a per-caller option so that
once they're clean on all builds we can stop them from regressing.
Test: add my_modules_strict := {true,false,,foo} to user
Change-Id: I3e09a8cbe5a07bbbff042b26cea7041c331dde96
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
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
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
Original Commit Message:
"""
Rename modules that are APEX-only
The renamed modules are only available for APEXes, but not for the
platform. Use the <module_name>.<apex_name> syntax to correctly install
the APEX variant of the modules.
"""
Reason for revert: Build Cop - Breaks about 15 AOSP targets, with high confidence due to these changes being the only non-robot changes in those builds.
Reverted Changes:
I190ce2d10:Use apex_available property
I990e0a67e:Use apex_available property
I0d1295683:Revert "Avoid duplicated classes for boot dex jars...
I5fb725403:Find the jar libraries in APEX from the correct pa...
I322b1efcc:Rename modules that are APEX-only
Ifa2bd0f8f:Use apex_available property
Iac6533177:Use apex_available property
Ie999602c6:Use apex_available property
I2a3d73397:Use apex_available property
Ic91bcbb9a:Use apex_available property
Ia6c324eed:Use apex_available property
I964d0125c:Use apex_available property
Change-Id: I39316f9ef2b0cd6c0a347f6b51d011748d0681aa
JAR libraries in the ART and conscrypt APEXes are no longer built for
the platform. Therefore, the path out/target/common/<name>_intermediates
does not exist. Instead use the path
out/target/common/<libname>.<apexname>_intermediates paths for those
APEX-only jars.
Bug: 128708192
Bug: 133140750
Test: m
Change-Id: I5fb725403ac22198e5ce6d77ca97c5f3392fabfd
Rename artifact to not use -img- which conflicts w/ TF
test filters.
Bug: 125451157
Test: Verified phone flash works with new with-license artifact.
Change-Id: I7dd4eb17a24f1bf36926a83939f69681ff8b26ad
This is needed for vts-core tests require vts specific preparers.
Bug: 142972256
Test: m -j general-tests
Change-Id: Ic2def11ac5f57a923d2bcefe6683e9a5fa66e7c6
Update of build variable to VENDOR_BLOBS_LICENSE
will be done via update to vendor-blob generation scripts.
Bug: 125451157
Test: Verified output in out and dist folders (with local rename).
Change-Id: I94190f0ef95a58464dceca912f8759023095fc7d