Add bootclasspath config to its own makefile

This is part of adding some devices/products suitable for unbundled
builds. An unbundled product does not need all the PRODUCT_PACKAGES
etc present in the normal hierarchy of products, but does need to know
which jars are on the bootclasspath.

Therefore, factor out the bootclasspath config from base_system.mk and
put it in its own makefile where it can be inherited by these unbundled
products.

Bug: 172256440
Test: diff presubmit artifacts (noop)
Merged-In: Id3f91e387bba2e0525b4010f22fe380d1d8be537
Change-Id: Id3f91e387bba2e0525b4010f22fe380d1d8be537
This commit is contained in:
Anton Hansson 2020-11-25 18:15:33 +00:00
parent e5b0fbd21a
commit 8c73673e73
2 changed files with 50 additions and 33 deletions

View File

@ -323,45 +323,12 @@ PRODUCT_HOST_PACKAGES += \
tz_version_host \
tz_version_host_tzdata_apex \
ifeq ($(ART_APEX_JARS),)
$(error ART_APEX_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable)
endif
# The order matters for runtime class lookup performance.
PRODUCT_BOOT_JARS := \
$(ART_APEX_JARS) \
framework-minus-apex \
ext \
com.android.i18n:core-icu4j \
telephony-common \
voip-common \
ims-common
PRODUCT_UPDATABLE_BOOT_JARS := \
com.android.conscrypt:conscrypt \
com.android.media:updatable-media \
com.android.mediaprovider:framework-mediaprovider \
com.android.os.statsd:framework-statsd \
com.android.permission:framework-permission \
com.android.sdkext:framework-sdkextensions \
com.android.wifi:framework-wifi \
com.android.tethering:framework-tethering
PRODUCT_COPY_FILES += \
system/core/rootdir/init.usb.rc:system/etc/init/hw/init.usb.rc \
system/core/rootdir/init.usb.configfs.rc:system/etc/init/hw/init.usb.configfs.rc \
system/core/rootdir/etc/hosts:system/etc/hosts
# Add the compatibility library that is needed when android.test.base
# is removed from the bootclasspath.
# Default to excluding android.test.base from the bootclasspath.
ifneq ($(REMOVE_ATB_FROM_BCP),false)
PRODUCT_PACKAGES += framework-atb-backward-compatibility
PRODUCT_BOOT_JARS += framework-atb-backward-compatibility
else
PRODUCT_BOOT_JARS += android.test.base
endif
PRODUCT_COPY_FILES += system/core/rootdir/init.zygote32.rc:system/etc/init/hw/init.zygote32.rc
PRODUCT_SYSTEM_PROPERTIES += ro.zygote?=zygote32
@ -422,4 +389,5 @@ PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\
frameworks/base/config/dirty-image-objects:system/etc/dirty-image-objects)
$(call inherit-product, $(SRC_TARGET_DIR)/product/bootclasspath.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/runtime_libart.mk)

View File

@ -0,0 +1,49 @@
#
# Copyright (C) 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
ifeq ($(ART_APEX_JARS),)
$(error ART_APEX_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable)
endif
# The order matters for runtime class lookup performance.
PRODUCT_BOOT_JARS := \
$(ART_APEX_JARS) \
framework-minus-apex \
ext \
com.android.i18n:core-icu4j \
telephony-common \
voip-common \
ims-common
PRODUCT_UPDATABLE_BOOT_JARS := \
com.android.conscrypt:conscrypt \
com.android.media:updatable-media \
com.android.mediaprovider:framework-mediaprovider \
com.android.os.statsd:framework-statsd \
com.android.permission:framework-permission \
com.android.sdkext:framework-sdkextensions \
com.android.wifi:framework-wifi \
com.android.tethering:framework-tethering
# Add the compatibility library that is needed when android.test.base
# is removed from the bootclasspath.
# Default to excluding android.test.base from the bootclasspath.
ifneq ($(REMOVE_ATB_FROM_BCP),false)
PRODUCT_PACKAGES += framework-atb-backward-compatibility
PRODUCT_BOOT_JARS += framework-atb-backward-compatibility
else
PRODUCT_BOOT_JARS += android.test.base
endif