Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8c73673e authored by Anton Hansson's avatar Anton Hansson
Browse files

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
parent e5b0fbd2
Loading
Loading
Loading
Loading
+1 −33
Original line number Diff line number Diff line
@@ -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)
+49 −0
Original line number Diff line number Diff line
#
# 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