Move the dexpreopting logic into Soong. Make modules will be
dexpreopted by executing the Soong logic in the standalone
dexpreopt_gen binary, which will generate scripts that will
perform dexpreopting for each module. Export global configuration
as JSON to $OUT/dexpreopt.config, which will be used by
dexpreopt_gen and Soong, and per-module JSON configuration that
will be used by dexpreopt_gen.
This relands I59b20c931ee3e5a8d35eb30da4148691c5095502,
I39d580999947ee54cfefe875b57a028be5333bd7,
Ie7daa94e107d53eff075ca58dbe721bd9d7fc8c2 and
Ica006a007d112c232311435aaac0c0e476232b67, with a minor
update to match the changes made to dexpreopt_gen arguments
and a fix to correctly keep dexpreopt disabled on mac builds.
Bug: 119412419
Bug: 120273280
Test: no differences to dexpreopt outputs on aosp_sailfish system/,
only expected changes to dexpreopt outputs on system_other
(.vdex files for privileged Soong modules no longer incorrectly
contain .dex contents).
Change-Id: I25163e91886cea6941afa25cdb529ed053278dcb
Move the dexpreopting logic into Soong. Make modules will be
dexpreopted by executing the Soong logic in the standalone
dexpreopt_gen binary, which will generate scripts that will
perform dexpreopting for each module. Export global configuration
as JSON to $OUT/dexpreopt.config, which will be used by
dexpreopt_gen and Soong, and per-module JSON configuration that
will be used by dexpreopt_gen.
Bug: 119412419
Bug: 120273280
Test: no differences to dexpreopt outputs on aosp_sailfish system/,
only expected changes to dexpreopt outputs on system_other
(.vdex files for privileged Soong modules no longer incorrectly
contain .dex contents).
Change-Id: I59b20c931ee3e5a8d35eb30da4148691c5095502
The final APK may contain compressed or uncompressed dex files,
and this affects dex2oat compilation.
Test: build sailfish, test that SystemUI.vdex and Settings.vdex
don't have the dex code.
Change-Id: Ic032f61ed67dcdf342f6eaef71d805b89d6fc99a
nostripping causes confusing double negatives, allow nostripping
in LOCAL_DEX_PREOPT and DEFAULT_DEX_PREOPT, but convert to
LOCAL_STRIP_DEX outside of dex_preopt_odex_install.mk.
Test: m checkbuild
Change-Id: I996e9258ce20c394900d9fe937d638bc2ab8589d
Use install_jni_libs_internal.mk to install JNI libraries alongside
preinstalled APKs. APKs with embedded JNI libraries are handled
within Soong.
Bug: 80095087
Test: m checkbuild
Change-Id: I2ecf10b6771dff14c940cc6e6442eb2ae43a75b0
$OUT/obj/APPS/SystemUI_intermediates/package.dex.apk was not being
written after being converted to Soong. Add a copy rule for it
to soong_app_prebuilt.mk, add it as an implicit output to the Make
rules that create it, and add it as a real dependency to the
platform.zip rules.
Test: m platform
Change-Id: I96f58d3d80b764a51a6acb87e92498589cfe5c18
dex_preopt_odex_install.mk should always be included, it handles
setting a default value for LOCAL_DEX_PREOPT.
Use dexpreopt-copy-jar when preopting to strip the dex file if
necessary.
Bug: 115967961
Test: m SystemUI
Change-Id: I74f77ed0e88a67043836407261f3845a16cbaf37
soong_to_convert looks for modules with no unconverted deps, but
the list of converted modules was not being updated for java and
app prebuilts. That meant soong_to_convert only reported modules
with no deps at all.
Test: examine soong_to_convert.txt
Change-Id: I136e6fa74153a80df5ecd767642bb2feb2ddb9dc
Modules from Soong do not have dependency specified (via
LOCAL_JAVA_LIBRARIES). So, link-type check 'from' them doesn't make
sense. Resetting my_warn_types and my_allowed_types
Bug: 69899800
Test: m -j checkbuild on aosp_walleye, aosp_sailfish
Test: build/soong/build_test.bash --dist
Change-Id: I2a409e64f388bd8cb9336be589bf6af33e48a6f4
core_current is a pseudo SDK version which is a core Java API subset of
the Android API. It is expected to be mainly used for external Java
projects which are agnostic to Android; such as junit, guava, etc.
A module built with this SDK version can only link to java modules of
the same kind. It can't depend on modules built with LOCAL_SDK_VERSION
:= current or without LOCAL_SDK_VERSION.
Bug: 72206056
Test: m -j
Change-Id: I34a9696393aa6704fd6684a40ea5b05d3fb46b23
Move R8_COMPAT_PROGUARD definition to Soong.
Copy the proguard_dictionary file so that the find
command that builds proguard_dict.zip can find it.
Test: m checkbuild
Change-Id: I28b2fce26ccb6225be0bd71802a43fe63df85daa
The dependency on the Soong jacoco report classes was mistakenly
using $(common_javalib.jar) which was never set, so was using
the value from the last module. Use $(LOCAL_BUILT_MODULE)
instead.
Test: m checkbuild
Change-Id: If502d67f9e5e0c107de44e96cbf232406c027e44
The .x509.pem file should be in CERTIFICATE, and the .pk8 file
in PRIVATE_KEY.
Bug: 70669383
Test: examine apkcerts.txt
Change-Id: I480f19be2efbbd72ea23ebd681f312b94accfd7a
Let soong pass overlay directories that were not used because
of enforced RROs and use the make rules to convert them to
the auto generated RRO package.
Bug: 69917341
Test: m checkbuild
Change-Id: I9db37e0bf65c19cef91428477713e3d7f1941b83
Allow soong to pass a built app to Make as a prebuilt .apk.
Bug: 69917341
Test: m checkbuild tests docs
Change-Id: I49dbe4c51c5b9f48fb82cb05b8eed7e3fe9fd4f6