Loading core/config.mk +0 −2 Original line number Diff line number Diff line Loading @@ -726,8 +726,6 @@ BRILLO_UPDATE_PAYLOAD := $(HOST_OUT_EXECUTABLES)/brillo_update_payload DEXDUMP := $(HOST_OUT_EXECUTABLES)/dexdump2$(BUILD_EXECUTABLE_SUFFIX) PROFMAN := $(HOST_OUT_EXECUTABLES)/profman HIDDENAPI := $(HOST_OUT_EXECUTABLES)/hiddenapi CLASS2GREYLIST := $(HOST_OUT_EXECUTABLES)/class2greylist FINDBUGS_DIR := external/owasp/sanitizer/tools/findbugs/bin FINDBUGS := $(FINDBUGS_DIR)/findbugs Loading core/definitions.mk +0 −23 Original line number Diff line number Diff line Loading @@ -2714,29 +2714,6 @@ $(INTERNAL_PLATFORM_HIDDENAPI_GREYLIST_METADATA): \ endif endef # File names for intermediate dex files of `hiddenapi-copy-soong-jar`. hiddenapi-soong-input-dex = $(dir $(1))/hiddenapi/dex-input/classes.dex hiddenapi-soong-output-dex = $(dir $(1))/hiddenapi/dex-output/classes.dex # Decompress a JAR with dex files, invoke $(HIDDENAPI) on them and compress again. define hiddenapi-copy-soong-jar $(call hiddenapi-soong-input-dex,$(2)): $(1) @rm -rf `dirname $$@` @mkdir -p `dirname $$@` unzip -o -q $(1) 'classes*.dex' -d `dirname $$@` find `dirname $$@` -maxdepth 1 -name 'classes*.dex' | xargs touch $(call hiddenapi-copy-dex-files,\ $(call hiddenapi-soong-input-dex,$(2)),\ $(call hiddenapi-soong-output-dex,$(2))) $(2): OUTPUT_DIR := $(dir $(call hiddenapi-soong-output-dex,$(2))) $(2): OUTPUT_JAR := $(dir $(call hiddenapi-soong-output-dex,$(2)))classes.jar $(2): $(1) $(call hiddenapi-soong-output-dex,$(2)) | $(SOONG_ZIP) $(MERGE_ZIPS) $(SOONG_ZIP) -o $${OUTPUT_JAR} -C $${OUTPUT_DIR} -f "$${OUTPUT_DIR}/classes*.dex" $(MERGE_ZIPS) -D -zipToNotStrip $${OUTPUT_JAR} -stripFile "classes*.dex" $(2) $${OUTPUT_JAR} $(1) endef ########################################################### ## Commands to call R8 Loading core/dex_preopt.mk +10 −2 Original line number Diff line number Diff line Loading @@ -61,7 +61,10 @@ ifdef PRODUCT_HIDDENAPI_STUBS_TEST endif # Singleton rule which applies $(HIDDENAPI) on all boot class path dex files. # Inputs are filled with `hiddenapi-copy-dex-files` rules. # Additional inputs are filled with `hiddenapi-copy-dex-files` rules. $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST): $(SOONG_HIDDENAPI_DEX_INPUTS) $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST): PRIVATE_DEX_INPUTS := $(SOONG_HIDDENAPI_DEX_INPUTS) .KATI_RESTAT: \ $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST) \ $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST) Loading @@ -83,7 +86,12 @@ $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST): $(HIDDENAPI) $(HIDDENAPI_STUBS) \ $(call commit-change-for-toc,$(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST)) $(call commit-change-for-toc,$(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST)) # Inputs to singleton rules located in frameworks/base # Additional inputs are filled with `hiddenapi-generate-csv` $(INTERNAL_PLATFORM_HIDDENAPI_FLAGS): $(SOONG_HIDDENAPI_FLAGS) $(INTERNAL_PLATFORM_HIDDENAPI_FLAGS): PRIVATE_FLAGS_INPUTS := $(SOONG_HIDDENAPI_FLAGS) $(INTERNAL_PLATFORM_HIDDENAPI_GREYLIST_METADATA): $(SOONG_HIDDENAPI_GREYLIST_METADATA) $(INTERNAL_PLATFORM_HIDDENAPI_GREYLIST_METADATA): PRIVATE_METADATA_INPUTS := $(SOONG_HIDDENAPI_GREYLIST_METADATA) ifeq ($(PRODUCT_DIST_BOOT_AND_SYSTEM_JARS),true) boot_profile_jars_zip := $(PRODUCT_OUT)/boot_profile_jars.zip Loading core/soong_app_prebuilt.mk +36 −34 Original line number Diff line number Diff line Loading @@ -27,8 +27,42 @@ full_classes_jar := $(intermediates.COMMON)/classes.jar full_classes_pre_proguard_jar := $(intermediates.COMMON)/classes-pre-proguard.jar full_classes_header_jar := $(intermediates.COMMON)/classes-header.jar ifdef LOCAL_SOONG_CLASSES_JAR $(eval $(call copy-one-file,$(LOCAL_SOONG_CLASSES_JAR),$(full_classes_jar))) $(eval $(call copy-one-file,$(LOCAL_SOONG_CLASSES_JAR),$(full_classes_pre_proguard_jar))) $(eval $(call add-dependency,$(LOCAL_BUILT_MODULE),$(full_classes_jar))) ifneq ($(TURBINE_ENABLED),false) ifdef LOCAL_SOONG_HEADER_JAR $(eval $(call copy-one-file,$(LOCAL_SOONG_HEADER_JAR),$(full_classes_header_jar))) else $(eval $(call copy-one-file,$(full_classes_jar),$(full_classes_header_jar))) endif endif # TURBINE_ENABLED != false endif # Run veridex on product, product_services and vendor modules. # We skip it for unbundled app builds where we cannot build veridex. module_run_appcompat := ifeq (true,$(filter true, \ $(LOCAL_PRODUCT_MODULE) $(LOCAL_PRODUCT_SERVICES_MODULE) \ $(LOCAL_VENDOR_MODULE) $(LOCAL_PROPRIETARY_MODULE))) ifeq (,$(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK))) # ! unbundled app build module_run_appcompat := true endif endif ifeq ($(module_run_appcompat),true) $(LOCAL_BUILT_MODULE): $(appcompat-files) $(LOCAL_BUILT_MODULE): PRIVATE_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE) $(LOCAL_BUILT_MODULE): $(LOCAL_PREBUILT_MODULE_FILE) @echo "Copy: $@" $(copy-file-to-target) $(call appcompat-header, aapt2) $(run-appcompat) else $(eval $(call copy-one-file,$(LOCAL_PREBUILT_MODULE_FILE),$(LOCAL_BUILT_MODULE))) endif ifdef LOCAL_SOONG_JACOCO_REPORT_CLASSES_JAR $(eval $(call copy-one-file,$(LOCAL_SOONG_JACOCO_REPORT_CLASSES_JAR),\ Loading @@ -44,15 +78,6 @@ ifdef LOCAL_SOONG_PROGUARD_DICT $(intermediates.COMMON)/proguard_dictionary) endif ifneq ($(TURBINE_ENABLED),false) ifdef LOCAL_SOONG_HEADER_JAR $(eval $(call copy-one-file,$(LOCAL_SOONG_HEADER_JAR),$(full_classes_header_jar))) else $(eval $(call copy-one-file,$(full_classes_jar),$(full_classes_header_jar))) endif endif # TURBINE_ENABLED != false ifdef LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE resource_export_package := $(intermediates.COMMON)/package-export.apk resource_export_stamp := $(intermediates.COMMON)/src/R.stamp Loading @@ -74,29 +99,6 @@ ifneq ($(BUILD_PLATFORM_ZIP),) $(eval $(call copy-one-file,$(LOCAL_SOONG_DEX_JAR),$(dir $(LOCAL_BUILT_MODULE))package.dex.apk)) endif # Run veridex on product, product_services and vendor modules. # We skip it for unbundled app builds where we cannot build veridex. module_run_appcompat := ifeq (true,$(filter true, \ $(LOCAL_PRODUCT_MODULE) $(LOCAL_PRODUCT_SERVICES_MODULE) \ $(LOCAL_VENDOR_MODULE) $(LOCAL_PROPRIETARY_MODULE))) ifeq (,$(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK))) # ! unbundled app build module_run_appcompat := true endif endif ifeq ($(module_run_appcompat),true) $(LOCAL_BUILT_MODULE): $(appcompat-files) $(LOCAL_BUILT_MODULE): PRIVATE_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE) $(LOCAL_BUILT_MODULE): $(LOCAL_PREBUILT_MODULE_FILE) @echo "Copy: $@" $(copy-file-to-target) $(call appcompat-header, aapt2) $(run-appcompat) else $(eval $(call copy-one-file,$(LOCAL_PREBUILT_MODULE_FILE),$(LOCAL_BUILT_MODULE))) endif my_built_installed := $(foreach f,$(LOCAL_SOONG_BUILT_INSTALLED),\ $(call word-colon,1,$(f)):$(PRODUCT_OUT)$(call word-colon,2,$(f))) my_installed := $(call copy-many-files, $(my_built_installed)) Loading core/soong_config.mk +4 −0 Original line number Diff line number Diff line Loading @@ -152,6 +152,10 @@ $(call add_json_list, ManifestPackageNameOverrides, $(PRODUCT_MANIFEST_PACK $(call add_json_bool, EnforceSystemCertificate, $(ENFORCE_SYSTEM_CERTIFICATE)) $(call add_json_list, EnforceSystemCertificateWhitelist, $(ENFORCE_SYSTEM_CERTIFICATE_WHITELIST)) $(call add_json_str, HiddenAPIPublicList, $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST)) $(call add_json_str, HiddenAPIFlags, $(INTERNAL_PLATFORM_HIDDENAPI_FLAGS)) $(call add_json_list, HiddenAPIExtraAppUsageJars, $(HIDDENAPI_EXTRA_APP_USAGE_JARS)) $(call add_json_map, VendorVars) $(foreach namespace,$(SOONG_CONFIG_NAMESPACES),\ $(call add_json_map, $(namespace))\ Loading Loading
core/config.mk +0 −2 Original line number Diff line number Diff line Loading @@ -726,8 +726,6 @@ BRILLO_UPDATE_PAYLOAD := $(HOST_OUT_EXECUTABLES)/brillo_update_payload DEXDUMP := $(HOST_OUT_EXECUTABLES)/dexdump2$(BUILD_EXECUTABLE_SUFFIX) PROFMAN := $(HOST_OUT_EXECUTABLES)/profman HIDDENAPI := $(HOST_OUT_EXECUTABLES)/hiddenapi CLASS2GREYLIST := $(HOST_OUT_EXECUTABLES)/class2greylist FINDBUGS_DIR := external/owasp/sanitizer/tools/findbugs/bin FINDBUGS := $(FINDBUGS_DIR)/findbugs Loading
core/definitions.mk +0 −23 Original line number Diff line number Diff line Loading @@ -2714,29 +2714,6 @@ $(INTERNAL_PLATFORM_HIDDENAPI_GREYLIST_METADATA): \ endif endef # File names for intermediate dex files of `hiddenapi-copy-soong-jar`. hiddenapi-soong-input-dex = $(dir $(1))/hiddenapi/dex-input/classes.dex hiddenapi-soong-output-dex = $(dir $(1))/hiddenapi/dex-output/classes.dex # Decompress a JAR with dex files, invoke $(HIDDENAPI) on them and compress again. define hiddenapi-copy-soong-jar $(call hiddenapi-soong-input-dex,$(2)): $(1) @rm -rf `dirname $$@` @mkdir -p `dirname $$@` unzip -o -q $(1) 'classes*.dex' -d `dirname $$@` find `dirname $$@` -maxdepth 1 -name 'classes*.dex' | xargs touch $(call hiddenapi-copy-dex-files,\ $(call hiddenapi-soong-input-dex,$(2)),\ $(call hiddenapi-soong-output-dex,$(2))) $(2): OUTPUT_DIR := $(dir $(call hiddenapi-soong-output-dex,$(2))) $(2): OUTPUT_JAR := $(dir $(call hiddenapi-soong-output-dex,$(2)))classes.jar $(2): $(1) $(call hiddenapi-soong-output-dex,$(2)) | $(SOONG_ZIP) $(MERGE_ZIPS) $(SOONG_ZIP) -o $${OUTPUT_JAR} -C $${OUTPUT_DIR} -f "$${OUTPUT_DIR}/classes*.dex" $(MERGE_ZIPS) -D -zipToNotStrip $${OUTPUT_JAR} -stripFile "classes*.dex" $(2) $${OUTPUT_JAR} $(1) endef ########################################################### ## Commands to call R8 Loading
core/dex_preopt.mk +10 −2 Original line number Diff line number Diff line Loading @@ -61,7 +61,10 @@ ifdef PRODUCT_HIDDENAPI_STUBS_TEST endif # Singleton rule which applies $(HIDDENAPI) on all boot class path dex files. # Inputs are filled with `hiddenapi-copy-dex-files` rules. # Additional inputs are filled with `hiddenapi-copy-dex-files` rules. $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST): $(SOONG_HIDDENAPI_DEX_INPUTS) $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST): PRIVATE_DEX_INPUTS := $(SOONG_HIDDENAPI_DEX_INPUTS) .KATI_RESTAT: \ $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST) \ $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST) Loading @@ -83,7 +86,12 @@ $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST): $(HIDDENAPI) $(HIDDENAPI_STUBS) \ $(call commit-change-for-toc,$(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST)) $(call commit-change-for-toc,$(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST)) # Inputs to singleton rules located in frameworks/base # Additional inputs are filled with `hiddenapi-generate-csv` $(INTERNAL_PLATFORM_HIDDENAPI_FLAGS): $(SOONG_HIDDENAPI_FLAGS) $(INTERNAL_PLATFORM_HIDDENAPI_FLAGS): PRIVATE_FLAGS_INPUTS := $(SOONG_HIDDENAPI_FLAGS) $(INTERNAL_PLATFORM_HIDDENAPI_GREYLIST_METADATA): $(SOONG_HIDDENAPI_GREYLIST_METADATA) $(INTERNAL_PLATFORM_HIDDENAPI_GREYLIST_METADATA): PRIVATE_METADATA_INPUTS := $(SOONG_HIDDENAPI_GREYLIST_METADATA) ifeq ($(PRODUCT_DIST_BOOT_AND_SYSTEM_JARS),true) boot_profile_jars_zip := $(PRODUCT_OUT)/boot_profile_jars.zip Loading
core/soong_app_prebuilt.mk +36 −34 Original line number Diff line number Diff line Loading @@ -27,8 +27,42 @@ full_classes_jar := $(intermediates.COMMON)/classes.jar full_classes_pre_proguard_jar := $(intermediates.COMMON)/classes-pre-proguard.jar full_classes_header_jar := $(intermediates.COMMON)/classes-header.jar ifdef LOCAL_SOONG_CLASSES_JAR $(eval $(call copy-one-file,$(LOCAL_SOONG_CLASSES_JAR),$(full_classes_jar))) $(eval $(call copy-one-file,$(LOCAL_SOONG_CLASSES_JAR),$(full_classes_pre_proguard_jar))) $(eval $(call add-dependency,$(LOCAL_BUILT_MODULE),$(full_classes_jar))) ifneq ($(TURBINE_ENABLED),false) ifdef LOCAL_SOONG_HEADER_JAR $(eval $(call copy-one-file,$(LOCAL_SOONG_HEADER_JAR),$(full_classes_header_jar))) else $(eval $(call copy-one-file,$(full_classes_jar),$(full_classes_header_jar))) endif endif # TURBINE_ENABLED != false endif # Run veridex on product, product_services and vendor modules. # We skip it for unbundled app builds where we cannot build veridex. module_run_appcompat := ifeq (true,$(filter true, \ $(LOCAL_PRODUCT_MODULE) $(LOCAL_PRODUCT_SERVICES_MODULE) \ $(LOCAL_VENDOR_MODULE) $(LOCAL_PROPRIETARY_MODULE))) ifeq (,$(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK))) # ! unbundled app build module_run_appcompat := true endif endif ifeq ($(module_run_appcompat),true) $(LOCAL_BUILT_MODULE): $(appcompat-files) $(LOCAL_BUILT_MODULE): PRIVATE_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE) $(LOCAL_BUILT_MODULE): $(LOCAL_PREBUILT_MODULE_FILE) @echo "Copy: $@" $(copy-file-to-target) $(call appcompat-header, aapt2) $(run-appcompat) else $(eval $(call copy-one-file,$(LOCAL_PREBUILT_MODULE_FILE),$(LOCAL_BUILT_MODULE))) endif ifdef LOCAL_SOONG_JACOCO_REPORT_CLASSES_JAR $(eval $(call copy-one-file,$(LOCAL_SOONG_JACOCO_REPORT_CLASSES_JAR),\ Loading @@ -44,15 +78,6 @@ ifdef LOCAL_SOONG_PROGUARD_DICT $(intermediates.COMMON)/proguard_dictionary) endif ifneq ($(TURBINE_ENABLED),false) ifdef LOCAL_SOONG_HEADER_JAR $(eval $(call copy-one-file,$(LOCAL_SOONG_HEADER_JAR),$(full_classes_header_jar))) else $(eval $(call copy-one-file,$(full_classes_jar),$(full_classes_header_jar))) endif endif # TURBINE_ENABLED != false ifdef LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE resource_export_package := $(intermediates.COMMON)/package-export.apk resource_export_stamp := $(intermediates.COMMON)/src/R.stamp Loading @@ -74,29 +99,6 @@ ifneq ($(BUILD_PLATFORM_ZIP),) $(eval $(call copy-one-file,$(LOCAL_SOONG_DEX_JAR),$(dir $(LOCAL_BUILT_MODULE))package.dex.apk)) endif # Run veridex on product, product_services and vendor modules. # We skip it for unbundled app builds where we cannot build veridex. module_run_appcompat := ifeq (true,$(filter true, \ $(LOCAL_PRODUCT_MODULE) $(LOCAL_PRODUCT_SERVICES_MODULE) \ $(LOCAL_VENDOR_MODULE) $(LOCAL_PROPRIETARY_MODULE))) ifeq (,$(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK))) # ! unbundled app build module_run_appcompat := true endif endif ifeq ($(module_run_appcompat),true) $(LOCAL_BUILT_MODULE): $(appcompat-files) $(LOCAL_BUILT_MODULE): PRIVATE_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE) $(LOCAL_BUILT_MODULE): $(LOCAL_PREBUILT_MODULE_FILE) @echo "Copy: $@" $(copy-file-to-target) $(call appcompat-header, aapt2) $(run-appcompat) else $(eval $(call copy-one-file,$(LOCAL_PREBUILT_MODULE_FILE),$(LOCAL_BUILT_MODULE))) endif my_built_installed := $(foreach f,$(LOCAL_SOONG_BUILT_INSTALLED),\ $(call word-colon,1,$(f)):$(PRODUCT_OUT)$(call word-colon,2,$(f))) my_installed := $(call copy-many-files, $(my_built_installed)) Loading
core/soong_config.mk +4 −0 Original line number Diff line number Diff line Loading @@ -152,6 +152,10 @@ $(call add_json_list, ManifestPackageNameOverrides, $(PRODUCT_MANIFEST_PACK $(call add_json_bool, EnforceSystemCertificate, $(ENFORCE_SYSTEM_CERTIFICATE)) $(call add_json_list, EnforceSystemCertificateWhitelist, $(ENFORCE_SYSTEM_CERTIFICATE_WHITELIST)) $(call add_json_str, HiddenAPIPublicList, $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST)) $(call add_json_str, HiddenAPIFlags, $(INTERNAL_PLATFORM_HIDDENAPI_FLAGS)) $(call add_json_list, HiddenAPIExtraAppUsageJars, $(HIDDENAPI_EXTRA_APP_USAGE_JARS)) $(call add_json_map, VendorVars) $(foreach namespace,$(SOONG_CONFIG_NAMESPACES),\ $(call add_json_map, $(namespace))\ Loading