aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2019-11-22 08:47:40 -0800
committerRoshan Pius <rpius@google.com>2019-11-22 12:48:09 -0800
commitd6e239fc35474165e8d6133f462eda4411136fc9 (patch)
tree7d0afc605826a05bb05badf36af8eacc096d6f4f
parent4a0832210cd529e999c4c150fa0874b1f568407e (diff)
downloadbuild-d6e239fc35474165e8d6133f462eda4411136fc9.tar.gz
base_system.mk: Support system_server jars from apexes
Allow system_server jars delivered via apex. Regular system_server jars are located in /system/framework folder. But, jars delivered via apex are mounted at /apex/<module_name>/javalib. Also, not all the libraries in /apex/<module_name>/javalib will be a system_server jar, so adding a mechanism to list out the jar file explicitly within the apex module. Bug: 144722612 Bug: 141785760 Test: Compiles (both with empty & non-empty PRODUCT_SYSTEM_SERVER_APEX_JARS value set) Change-Id: Ia181ab22fdf2da575bfd532c1cd90a2f54742528
-rw-r--r--core/dex_preopt_config.mk1
-rw-r--r--core/product.mk2
-rw-r--r--target/product/media_system.mk5
3 files changed, 8 insertions, 0 deletions
diff --git a/core/dex_preopt_config.mk b/core/dex_preopt_config.mk
index 64ad8d9a3c..c6c6a614b1 100644
--- a/core/dex_preopt_config.mk
+++ b/core/dex_preopt_config.mk
@@ -97,6 +97,7 @@ ifeq ($(WRITE_SOONG_VARIABLES),true)
$(call add_json_list, ProductUpdatableBootLocations, $(PRODUCT_UPDATABLE_BOOT_LOCATIONS))
$(call add_json_list, SystemServerJars, $(PRODUCT_SYSTEM_SERVER_JARS))
$(call add_json_list, SystemServerApps, $(PRODUCT_SYSTEM_SERVER_APPS))
+ $(call add_json_list, UpdatableSystemServerJars, $(PRODUCT_UPDATABLE_SYSTEM_SERVER_JARS))
$(call add_json_list, SpeedApps, $(PRODUCT_DEXPREOPT_SPEED_APPS))
$(call add_json_list, PreoptFlags, $(PRODUCT_DEX_PREOPT_DEFAULT_FLAGS))
$(call add_json_str, DefaultCompilerFilter, $(PRODUCT_DEX_PREOPT_DEFAULT_COMPILER_FILTER))
diff --git a/core/product.mk b/core/product.mk
index 102e6a5c19..f451706586 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -228,6 +228,8 @@ _product_list_vars += PRODUCT_SYSTEM_PROPERTY_BLACKLIST
_product_list_vars += PRODUCT_VENDOR_PROPERTY_BLACKLIST
_product_list_vars += PRODUCT_SYSTEM_SERVER_APPS
_product_list_vars += PRODUCT_SYSTEM_SERVER_JARS
+# List of system_server jars delivered via apex. Format = <apex name>:<jar name>.
+_product_list_vars += PRODUCT_UPDATABLE_SYSTEM_SERVER_JARS
# All of the apps that we force preopt, this overrides WITH_DEXPREOPT.
_product_list_vars += PRODUCT_ALWAYS_PREOPT_EXTRACTED_APK
diff --git a/target/product/media_system.mk b/target/product/media_system.mk
index 5c0902dbcf..c2c97629bc 100644
--- a/target/product/media_system.mk
+++ b/target/product/media_system.mk
@@ -56,6 +56,11 @@ PRODUCT_SYSTEM_SERVER_JARS := \
wifi-service \
com.android.location.provider \
+# system server jars which are updated via apex modules.
+# The values should be of the format <apex name>:<jar name>
+PRODUCT_UPDATABLE_SYSTEM_SERVER_JARS := \
+ # Ex: com.android.wifi:wifi-service
+
PRODUCT_COPY_FILES += \
system/core/rootdir/etc/public.libraries.android.txt:system/etc/public.libraries.txt