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
This reverts commit 4a2926a44e.
Reason for revert: The original CL caused two issues:
1) Increased app startup because `profman` failed to verify boot
jars and created an empty profile for the boot image. All methods
in the framework therefore ran interpreted/JITed. New flag
"--skip-apk-verification" has been added to `profman` to fix
the issue in CL Iad614e47feada293218c11cff985a8012ca49a0f.
2) Caused a crash in Mockito CTS tests because jvmti did not
remove hiddenapi access flags from boot jars before using them.
This has been fixed with CL Ibc9a96a6b541c06844f276db009ac29514f7a3bb.
Bug: 64382372
Bug: 72550707
Test: make test-art-host
Change-Id: Ie8c58714455662f042f56b2977b01b75c5ec7d2f
This reverts commit b7f00ed2af.
Bug: 72550707
Bug: 64382372
Test: atest CtsInlineMockingTestCases
Reason for revert: Causing invalid dex files to be passed to jvmti
agents. This causes CtsInlineMockingTestCases and
other tests to fail.
Change-Id: I50129e94791b9e2bef919fe398b4250ae461195b
Restrictions on usage of private APIs require encoding new information
into the dex files of the boot class path. ART now contains a new build
tool called `hiddenapi` which takes three lists of class member
signatures (blacklist, light and dark greylist), finds the class members
in their respective dex files and modifies their access flags in place.
This patch invokes the `hiddenapi` tool on all JARs in
PRODUCT_BOOT_JARS. For Java libraries built with Makefiles the tool is
invoked after the dexer directly on DEX files. For Soong-built
libraries, the build system has to unzip the JAR produced by Soong,
apply `hiddenapi` and rezip again. This is due to the fact that the
PRODUCT_BOOT_JARS variable is not available to Soong.
Bug: 64382372
Test: m
Change-Id: I6ce897d204459c8b6f46ed49e0909ff76c08a9ed
jacoco-report-classes.jar is found by a glob, so there is no
explicit dependency on it. Add a dependency to javalib.jar so
that it gets installed.
Bug: 70295664
Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_STATIC=true WITH_DEXPREPOT=false
Change-Id: Ia7feaa132879539f88c08a49148e4bbb5a141eab
The oreo merge to AOSP master added a new variable that must
be set when dex preopting a java module with a profile.
Test: m checkbuild
Change-Id: Ib917761ea4fea481e32f3fb663a18b882a13f4a1
The system_$(VER) can be set in LOCAL_SDK_VERSION, and the apk will use
android_system.jar at build time.
If LOCAL_SDK_VERSION is not defined and this module is installed in
vendor.img, LOCAL_SDK_VERSION is set to system_current.
Bug: 67724799
Test: 1. build && run on taimen
2. LOCAL_SDK_VERSION:=system_27 in ims.apk && build ims.apk && check
the vsdk_v27_intermediates.
Merged-In: I5b11c78b8fcd4a2f2a5e3b141527cd34dbe80018
Change-Id: I5b11c78b8fcd4a2f2a5e3b141527cd34dbe80018
(cherry picked from commit ef212cbe8d)
Some robolectric rules assume that classes-pre-proguard.jar
exists. Soong doesn't support proguard yet, so copy classes.jar
to classes-pre-proguard.jar for now.
Bug: 69917341
Test: m checkbuild tests
Change-Id: I818363ec13c2e5e1c4ab5bd6389ea4687de953eb
Use jacoco values exported from soong and copy
jacoco-report-classes.jar to where the jacoco-report-classes-all.jar
rule can find it.
Bug: 69629238
Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true WITH_DEXPREOPT=false
Change-Id: If05381f415fb52a575746b8be0bfcd03d55b2153
Make javalib.jar files copied from soong modules depend on the copied
classes.jar files.
Test: rm classes.jar && m modulename && ls classes.jar
Test: rm classes.jar && m javalib.jar && ls classes.jar
Change-Id: I5ab77960a43b07c214969834cb3472ed121c8828
When LOCAL_IS_HOST_MODULE is set LOCAL_BUILT_MODULE is the same
as common_javalib.jar, and dexpreopting shouldn't be enabled.
Bug: 67600882
Test: m -j checkbuild
Change-Id: I7397fa430ebc18d5cb6ba71b06e343180f09ae08
Dexpreopt jars from soong, which also strips classes.dex from
javalib.jar.
Test: m -j checkbuild
Test: unzip -l $OUT/system/framework/core-oj.jar
Change-Id: I06b8efa8993f6c44f0ad8c988e57a3cba08e17ad
m -j TURBINE_ENABLED=false will build without turbine. This is
primarily useful for A/B comparisions of turbine builds, but will
also be used to temporarily disable turbine for unbundled builds
until we have turbine prebuilts.
Bug: 64308460
Test: m -j TURBINE_ENABLED=false java
Test: m -j java
Change-Id: Ie48746c8bfc60c361be9634cb1805ca1c09aa1fe
javalib.jar needs to be copied to both $(intermediates.COMMON)
and $(intermediates).
Test: m -j checkbuild
Change-Id: Ic2944691dced35c1e74d12f9948904cf748fe402
Instead of trying to squeeze soong jars through prebuilt_internal.mk,
make a separate soong_java_prebuilt.mk.
Test: m -j checkbuild
Change-Id: I078e67ce58b2b2e0acf4b1ec28823e96b16a0cec