The value of BOARD_AVB_VBMETA_SYSTEM_IMAGE_ARGS and
BOARD_AVB_VBMETA_VENDOR_IMAGE_ARGS are usually the same, e.g.,
--padding_size 4096 --rollback_index 1656979200.
However, in a split build, the value of
BOARD_AVB_VBMETA_SYSTEM_IMAGE_ARGS might be empty.
Using BOARD_AVB_VBMETA_VENDOR_IMAGE_ARGS to correctly
assign the value for vbmeta_vendor.img.
Bug: 232360330
Test: TreeHugger
Change-Id: Ia26816bd309084c3a4c0df6b9f2f3fc5a28bc31a
Before aosp/1851043, it was triggered by checkbuild because the
timestamp is attached to $LOCAL_BUILT_MODULE. With aosp/1851043, the
timestamp is not triggered by checkbuild and when a new VNDK lib is
added the check might get skipped in AOSP tree while it can break in the
downstream trees when actually used.
This change adds the same_vndk_variants.timestamp files to checkbuild
again so that CI catches the errors.
Bug: 233616647
Test: prebuilts/build-tools/linux-x86/bin/ninja -f \
out/combined-aosp_cf_x86_64_phone.ninja -t query checkbuild \
| grep same_vndk_variants.timestamp
Change-Id: I26043ec001ca2473fccfc19368d035374c663a21
The makefile implementation of dexpreopt is lagging behind the Soong
implementation in the way it handles transitive dependencies: Soong
propagates class loader context through transitive dependencies, such
as static libraries, but makefiles only propagate that information
through uses-library dependencies.
This discrepancy is caused by the difficulty of handling class loader
contexts in makefies: since there is no topological order in handling
module and its dependencies, the information is propagated via file
level dependencies on dexpreopt.configs and merged into the module's
dexpreopt.config with a python script.
To handle transitive dependencies correctly, it is necessary to
generate dexpreopt.config files for all libraries, not just those that
enable dexpreopt.
This change only prepares dex_preopt_odex_install.mk for that and
updates if for corresponding changes in manifest_check.py. It does not
enable generation of dexpreopt.config files for non uses-library
dependencies (e.g. static libraries). This will be done as a follow-up.
Changes:
- renamed option for dependency dexpreopt.config files
- added option for self dexpreopt.config
- moved variable definitions so that they can be used both by
uses-library check and dexpreopt command
- add 'Optional' field in makefile-generated dexpreopt.config to
align it on par with Soong-generated configs
- modify dex_preopt_config_merger.py to add uses-libraries propagated
via dexpreopt.config files
Bug: 214255490
Test: lunch aosp_cf_x86_64_phone-userdebug && m && launch_cvd \
&& adb wait-for-device && adb root \
&& adb logcat | grep -E 'ClassLoaderContext [a-z ]+ mismatch'
# a few unrelated errors caused by missing optional uses-libraries
# android.net.ipsec.ike
# androidx.window.extensions
# androidx.window.sidecar
# that were present before this patch
Change-Id: I6522319a8415f22f90fc96059a34675fb830e5cc
The doc lists some possible causes of a `dex_preopt_check` error, which
can be useful for developers to understand how to debug the error.
Bug: 232542678
Test: m nothing
Change-Id: I2e9868a6a470e41e8c3743c045e0cf4cf7367efa
MODULES_ADDED_WALL is deceiving and it actually meant which modules are
allowed to have warnings (do not automatically append -Werror flag).
Test: presubmit
Bug: 233183337
Change-Id: Ia2eb972d3d76ba245840f9872cbcc66d2894dab3
Make it possible to provide a prebuilt hints file to specify different compression strategies on a file basis for all partitions using:
BOARD_EROFS_COMPRESS_HINTS := <path>/erofs-hints.txt
or separately for every partition using:
BOARD_SYSTEMIMAGE_EROFS_COMPRESS_HINTS := <path>/system-partition-erofs-hints.txt
BOARD_VENDORIMAGE_EROFS_COMPRESS_HINTS := <path>/vendor-partition-erofs-hints.txt
Hints format: Each line is defined by tokens separated by spaces in the following form:
<pcluster-in-bytes> <match-pattern>
pcluster-in-bytes can be specified as 0 which mean file will not be compressed
Bug: 231934752
Test: used dump.erofs -S system.img to verify the system image isn't compressed after specifying BOARD_SYSTEMIMAGE_EROFS_COMPRESS_HINTS := no-compress.txt, where no-compress.txt contains 0 .*
Test: used dump.erofs --nid=<inode-for-all-apk-files> vendor.img to verify apk files are not compressed (the rest of the partition content is compressed)
Test: used dump.erofs -S <all-images> to verify all images are not compressed after specifying BOARD_EROFS_COMPRESS_HINTS := <path>/no-compress.txt
Change-Id: I64054e26af5ea5781c45d2183b7796a9ad2b7927
It might be useful to have access to the prebuilt that the Android build
used to create the pvmfw partition so add a new directory (similarly to
other partitions) containing the prebuilt (which is also the only
content of the partition). This is particularly useful in ATC, when
detecting if the prebuilt was updated by the build.
Bug: 232253742
Test: m
Change-Id: I1116d91ffb073821568bcaeed30bbb43873dcafa
The SDK no longer includes system images, so no longer needs to depend
on targets that are only relevant for the system images.
Remove all the explicit dependencies that end up depending on
"everything" but are not included in the sdk zip.
Two positive side-effects:
- fewer unused things get built (now ~32k targets, down from ~108k)
- apexes no longer get built, eliminating the risk of mismatch between
module sdk prebuilts and source-built AOSP apexes.
There are some potential risks with this CL:
- because we no longer forcefully rebuild everything, if there are bugs
in dependencies of exising files in the SDK, incremental builds may
not rebuild them.
- some files that get built into the SDK may be being built as a
side-effect of other files included in the SDK, so removing one file
may cause another to not get built. The solution to that is to add
the file not getting built to ALL_SDK_FILES.
Bug: 205008975
Test: m sdk sdk_repo dist && diff sdk.zip before/after (identical)
Change-Id: I97284864f66aa88556fbe16864f45b04be97634e
Ensure annotated fields are kept when treeshaking-related optimizations
are enabled. Note that this still allows field removal if tree shaking
reveals no references, but will avoid removal if there are references
that might impact downstream usage, e.g., weak references.
Bug: 227455445
Test: atest InternalAnnotationsTest
Change-Id: I59c6277c43b14c5de8154fa1eefad01f0702e413
There are no more BUILD_HOST_DALVIK_* modules, remove the host dalvik
support. The equivalent support in Soong just copies the device dex
file to the host dalvik location.
Test: m checkbuild
Change-Id: I4bcf916518317b28d3217994b2fe9ee95d7f50d6
This is a temporary workaround that should be replaced with build logic
that would propagate optionality via generated exported-sdk-libs files.
Bug: 214255490
Test: lunch aosp_cf_x86_64_phone-userdebug && m && launch_cvd \
&& adb wait-for-device && adb root \
&& adb logcat | grep -E 'ClassLoaderContext [a-z ]+ mismatch'
# empty output, no errors at boot
Change-Id: I05e22e5f72a9f936b6e0010240f5e71849a9b2b0
Always enable the rbc board config along with
the product config now that board config works
well.
Bug: 231224938
Test: Presubmits
Change-Id: I52a79d53dfe54878477ee015bd21863c4cee6b05
Evaluate the list of all active codenames when version_util.mk is
invoked.
Bug: 230720688
Change-Id: I1c6a3e94230e856cf41f1f79b37893576957dc3d
Signed-off-by: Sebastian Ene <sebastianene@google.com>
This lets product/board config define a function that
is called while processing modules defined in an
Android.mk file.
When the product/board configs are converted
to starlark, they won't be able to supply a base-rules-hook
anymore. Emit a warning saying that it's deprecated.
Bug: 226974242
Test: Manually
Change-Id: Ie6baa4952516a3ec5c6c440f9106f7b5185803b7
cc_test that can run on hostside are default to be part of
host-unit-tests suite. The suite is set up similar to device-tests and
general-tests, and it's not a compatibility suite. So following variable
will always be empty:
$(COMPATIBILITY_TESTCASES_OUT_host-unit-tests.
It should use HOST_OUT_TESTCASES as testcases dir.
The same logic should be applied to art-host-tests.
Bug: None
Test: build
Change-Id: Ieddacd5157da73c6df473c103be109d9c3a55281