platform_build/core/tasks
Zhenhuang Wang 415ee12c76 Export test_options.tags to module-info
The test_options.tags attribute modifies execution behavior when running
tests in ATest Bazel mode. Exporting the value to module-info enables
ATest to add them to the corresponding Bazel target.

Bug: 240928948
Test: manually add `test_options.tags` attribute and run:
    $ refreshmod && \
      cat out/target/product/generic/module-info.json |\
      grep <tags>
Change-Id: I1a70d5c66703ed6a5a250459a80e8bca71d659b6
2022-08-22 20:59:54 +08:00
..
tools Remove verity.mk, verity_key, PRODUCT_VERITY_SIGNING_KEY 2022-08-11 08:12:58 +00:00
art-host-tests.mk Non-module targets. 2022-04-07 22:03:29 -07:00
build_custom_images.mk Remove PRODUCT_SUPPORTS_VERITY(_FEC) reference 2022-08-11 08:12:58 +00:00
catbox.mk Report Performance Test Metrics as JSON File 2021-08-09 09:55:04 -07:00
collect_gpl_sources.mk Introduce droidcore-unbundled target 2021-06-16 19:54:07 +00:00
csuite.mk Add App Compatibility Test Suite (C-Suite) to build 2019-10-04 17:51:16 +00:00
cts.mk Non-module targets. 2022-04-07 22:03:29 -07:00
cts_root.mk Add build task for cts_root. 2021-02-11 10:34:01 +00:00
device-tests.mk Non-module targets. 2022-04-07 22:03:29 -07:00
dex_preopt_check.mk Add a doc about dex_preopt_check. 2022-05-20 16:21:46 +01:00
find-shareduid-violation.mk Non-module targets. 2022-04-12 18:57:15 -07:00
general-tests.mk Package vts kernel tests in general-tests.zip 2022-04-12 15:50:53 -07:00
host-unit-tests.mk Revert "Do not compress zip file for unit tests." 2022-05-13 19:55:25 +00:00
host_init_verifier.mk Introduce droidcore-unbundled target 2021-06-16 19:54:07 +00:00
ide.mk Remove reference to empty variable 2020-07-15 13:02:15 +01:00
module-info.mk Export test_options.tags to module-info 2022-08-22 20:59:54 +08:00
mts.mk Update mts task to make mts-${MODULE} test suites 2020-11-11 14:10:45 -08:00
multitree.mk Prototype changes for multitree 2022-04-28 08:03:55 +00:00
oem_image.mk Non-module targets. 2022-04-07 22:03:29 -07:00
OWNERS Add extra owners for file core/tasks/art-host-tests.mk. 2021-07-28 10:21:56 +01:00
owners.mk Non-module targets. 2022-04-07 22:03:29 -07:00
platform_availability_check.mk Skip the platform availability check for unbundled builds. 2020-11-17 02:46:05 +00:00
README.dex_preopt_check.md Add a doc about dex_preopt_check. 2022-05-20 16:21:46 +01:00
recovery_snapshot.mk Support for recovery snapshot. 2020-12-21 08:32:44 -08:00
sdk-addon.mk emulator: enable vendor boot image 2020-05-01 20:01:40 +00:00
sts.mk Don't build STS when it does not exist. 2018-07-30 16:42:46 -07:00
test_mapping.mk Non-module targets. 2022-04-07 22:03:29 -07:00
tradefed-tests-list.mk Non-module targets. 2022-04-07 22:03:29 -07:00
vendor_module_check.mk Add odm_dlkm partition. 2020-07-16 12:34:29 -07:00
vendor_snapshot.mk Implement fake vendor snapshot 2021-01-07 13:56:33 +09:00
vndk.mk Deprecate VNDK-Lite 2020-07-20 05:39:29 +00:00
vts-core-tests.mk Package vts kernel tests in general-tests.zip 2022-04-12 15:50:53 -07:00
with-license.mk Non-module targets. 2022-04-07 22:03:29 -07:00

dex_preopt_check

dex_preopt_check is a build-time check to make sure that all system server jars are dexpreopted. When the check fails, you will see the following error message:

FAILED:
build/make/core/tasks/dex_preopt_check.mk:13: warning:  Missing compilation artifacts. Dexpreopting is not working for some system server jars
Offending entries:

Possible causes are:

  1. There is an APEX/SDK mismatch. (E.g., the APEX is built from source while the SDK is built from prebuilt.)

  2. The systemserverclasspath_fragment is not added as systemserverclasspath_fragments of the corresponding apex module, or not added as exported_systemserverclasspath_fragments of the corresponding prebuilt_apex/apex_set module when building from prebuilt.

  3. The expected version of the system server java library is not preferred. (E.g., the java_import module has prefer: false when building from prebuilt.)

  4. Dexpreopting is disabled for the system server java library. This can be due to various reasons including but not limited to:

    • The java library has dex_preopt: { enabled: false } in the Android.bp file.

    • The java library is listed in DEXPREOPT_DISABLED_MODULES in a Makefile.

    • The java library is missing installable: true in the Android.bp file when building from source.

    • Sanitizer is enabled.

  5. PRODUCT_SYSTEM_SERVER_JARS, PRODUCT_APEX_SYSTEM_SERVER_JARS, PRODUCT_STANDALONE_SYSTEM_SERVER_JARS, or PRODUCT_APEX_STANDALONE_SYSTEM_SERVER_JARS has an extra entry that is not needed by the product.