Refactor the OptimizedBuildTarget base class to more simply handle
enabling/disabling build optimizations based on flags. Now all
optimizers (aside from the no-op NullOptimizer will have their enabling
built into the base class, and also necessitate their get_build_targets
and package_outputs functions to be defined in order to not error out.
Add the GeneralTestsOptimizer class as well, unimplemented for now.
Test: atest build_test_suites_test
Bug: 358215235
Change-Id: Ide22c64fc238d754db8d8e76484947401e54e680
This relands https://r.android.com/3205048 without the
`BOARD_USES_SYSTEM_OTHER_ODEX` conditional. Board config runs after
product config, so the value of `BOARD_USES_SYSTEM_OTHER_ODEX` is not
available in runtime_libart.mk
Adding cppreopts.sh to PRODUCT_PACKAGES ensures that the dexpreopt files
can be copied from system_other to /data on first boot.
Test: lunch aosp_cheetah-trunk_staging-userdebug
Test: get_build_var PRODUCT_SYSTEM_PROPERTIES # verified that ro.cp_system_other_odex=1 is present
(this was incorrectly removed from build.prop after
https://r.android.com/3205048)
Test: device boot test go/abtd https://android-build.corp.google.com/builds/abtd/run/L83800030005663221
(this failed previously with https://r.android.com/3205048)
Bug: 356075780
Change-Id: I6a596373bbbe8587620c5867fb43fcbf3f3b2b2b
This reverts commit 9c54f38250.
Reason for revert: <Droidmonitor created revert due to b/357468332. Will be verifying through ABTD before submission.>
Change-Id: I201339aa920dcb7fec5e8b6e74b0f0ff35c91416
The restrict mode doesn't allow to have disk read from main thread. Some
apps enabled this check. The code in the dependencies of the
fileinputstream. This chagne switch to filechannel.
Test: presubmit
Bug: 356614910
Change-Id: Icf2175fe75ed1bfad4a048ead680b08e57d6c2ca
Add functionality in build_test_suites.py to not build targets if
their outputs are not used in the test configurations saved in the build
context. If none of the tests reference the targets' outputs they will
not be built at all.
Note that the corresponding flags will need to be enabled for these
optimizations to take place.
Test: atest optimized_targets_test
Bug: 348489774
Change-Id: I8f0ac90e75552ae80073f13229b026c7f23476a6
https://r.android.com/3177659 set ro.cp_system_other_odex=1 to request
copy of the dexpreopt app images to system_other partition on first
boot. This created a misconfiguration for devices that
1. Do not have a system_other partition
2. Do not have cppreopts.sh listed in PRODUCT_PACKAGES
This CL adds a conditional to request this copy operation in devices
with a system_other partition, and adds cppreopts.sh to PRODUCT_PACKAGES
Test: presubmits
Bug: 356075780
Change-Id: I703c15a5fd96d1efad7f93e6bcb1b968ae4f38a1
This reverts commit 11840e42bd.
Reason for revert: <Droidmonitor created revert due to b/356996882. Will be verifying through ABTD before submission.>
Change-Id: I1813b8f1215f42c2ae8421f19ff25f507604b385
PLATFORM_BASE_OS is used to set value for
ro.build.version.base_os which is used to qualify
a device build as SMR (Security Maintenance Release)
during APFE (Android Partner Approval) to optimize the test span.
See ag/26859560 on how we plan to use this variable.
Add PRODUCT_BASE_OS that can be used to override
PLATFORM_BASE_OS value before making it read_only.
Plan is to set the value for PRODUCT_BASE_OS using build flags.
This way, it can be easily set per device when making on-demand
SMR releases. In future, move it to be set via soong variable
during build process once build system side is ready.
Test: None
Bug: 155105803
Change-Id: I7c4a1f291bb426ad599e1dc937e6ecd3889b5820
This reverts commit 6871779d9b.
Reason for revert: Potential culprit for b/356752725- verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Change-Id: I4c29b27f0318901130036dbe8ab9edef37f08875