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
Merged-In: If12569719343bfbba20c1cda9a5302ab541dbfc6
Change-Id: If12569719343bfbba20c1cda9a5302ab541dbfc6
This commit is contained in:
Igor Murashkin 2017-06-15 10:41:02 -07:00
parent cb07cb1aa7
commit 9d4639c8c2
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

@ -88,20 +88,19 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.software.webview.xml:system/etc/permissions/android.software.webview.xml
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
# The order of PRODUCT_SYSTEM_SERVER_JARS matters.

View File

@ -83,20 +83,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

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 += \