core: Move core.oat bootjar definitions into envsetup.mk

TARGET_CORE_JARS and HOST_CORE_JARS define the minimal bootclasspath jars necessary to run
with dalvikvm/art.

Also refactor PRODUCT_BOOT_JARS in core-tiny.mk and core-minimal.mk to reuse TARGET_CORE_JARS.
The above variables can be used from scripts with get_build_var from envsetup.sh

  $> get_build_var TARGET_CORE_JARS
  <prints list of core jars>

(These changes are required to figure out what --bootclasspath_entry to pass to desugar).

Bug: 36902714
Test: make -j32 build-art-host build-art-target
Test: lunch aosp_angler-userdebug && make -j32
Test: make -j32 PRODUCT-sdk_google_aw_x86-sdk
Change-Id: If12569719343bfbba20c1cda9a5302ab541dbfc6
(cherry picked from commit f33a96c07f)
This commit is contained in:
Igor Murashkin 2017-06-15 09:46:58 -07:00 committed by Andreas Gampe
parent a2675bdfaf
commit cda3d10e56
4 changed files with 22 additions and 18 deletions

View file

@ -190,6 +190,13 @@ _vendor_path_placeholder := ||VENDOR-PATH-PH||
TARGET_COPY_OUT_VENDOR := $(_vendor_path_placeholder)
###########################################
#################################################################
# Set up minimal BOOTCLASSPATH list of jars to build/execute
# java code with dalvikvm/art.
TARGET_CORE_JARS := core-oj core-libart conscrypt okhttp bouncycastle apache-xml
HOST_CORE_JARS := $(addsuffix -hostdex,$(TARGET_CORE_JARS))
#################################################################
# Read the product specs so we can get TARGET_DEVICE and other
# variables that we need in order to locate the output files.
include $(BUILD_SYSTEM)/product_config.mk

View file

@ -98,20 +98,19 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.software.preview_sdk.xml:system/etc/permissions/android.software.preview_sdk.xml
endif
ifeq ($(TARGET_CORE_JARS),)
$(error TARGET_CORE_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable)
endif
# The order of PRODUCT_BOOT_JARS matters.
PRODUCT_BOOT_JARS := \
core-oj \
core-libart \
conscrypt \
okhttp \
$(TARGET_CORE_JARS) \
legacy-test \
bouncycastle \
ext \
framework \
telephony-common \
voip-common \
ims-common \
apache-xml \
org.apache.http.legacy.boot \
android.hidl.base-V1.0-java \
android.hidl.manager-V1.0-java

View file

@ -85,20 +85,19 @@ PRODUCT_PACKAGES += \
logd \
wifi-service
ifeq ($(TARGET_CORE_JARS),)
$(error TARGET_CORE_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable)
endif
# The order matters
PRODUCT_BOOT_JARS := \
core-oj \
core-libart \
conscrypt \
okhttp \
$(TARGET_CORE_JARS) \
legacy-test \
bouncycastle \
ext \
framework \
telephony-common \
voip-common \
ims-common \
apache-xml \
nullwebview \
org.apache.http.legacy.boot \
android.hidl.base-V1.0-java \

View file

@ -16,15 +16,14 @@
# Provides a functioning ART environment without Android frameworks
ifeq ($(TARGET_CORE_JARS),)
$(error TARGET_CORE_JARS is empty; cannot update PRODUCT_PACKAGES variable)
endif
# Minimal boot classpath. This should be a subset of PRODUCT_BOOT_JARS, and equivalent to
# TARGET_CORE_JARS.
PRODUCT_PACKAGES += \
apache-xml \
bouncycastle \
core-oj \
core-libart \
conscrypt \
okhttp \
$(TARGET_CORE_JARS)
# Additional mixins to the boot classpath.
PRODUCT_PACKAGES += \