diff --git a/core/OWNERS b/core/OWNERS index 8794434f7b..8d612e02d5 100644 --- a/core/OWNERS +++ b/core/OWNERS @@ -2,5 +2,5 @@ per-file dex_preopt*.mk = ngeoffray@google.com,calin@google.com,mathewi@google.c per-file verify_uses_libraries.sh = ngeoffray@google.com,calin@google.com,skvadrik@google.com # For version updates -per-file version_defaults.mk = aseaton@google.com,elisapascual@google.com,lubomir@google.com,pscovanner@google.com +per-file version_defaults.mk = aseaton@google.com,lubomir@google.com,pscovanner@google.com,bkhalife@google.com,jainne@google.com diff --git a/core/android_soong_config_vars.mk b/core/android_soong_config_vars.mk index aae17c306b..cba0e032c4 100644 --- a/core/android_soong_config_vars.mk +++ b/core/android_soong_config_vars.mk @@ -129,7 +129,7 @@ endif # are controlled by the MODULE_BUILD_FROM_SOURCE environment variable by # default. INDIVIDUALLY_TOGGLEABLE_PREBUILT_MODULES := \ - bluetooth \ + btservices \ permission \ uwb \ wifi \ diff --git a/core/product.mk b/core/product.mk index 80ce0f1243..277d2402ac 100644 --- a/core/product.mk +++ b/core/product.mk @@ -279,6 +279,9 @@ _product_list_vars += PRODUCT_FORCE_PRODUCT_MODULES_TO_SYSTEM_PARTITION # This flag implies PRODUCT_USE_DYNAMIC_PARTITIONS. _product_single_value_vars += PRODUCT_RETROFIT_DYNAMIC_PARTITIONS +# List of tags that will be used to gate blueprint modules from the build graph +_product_list_vars += PRODUCT_INCLUDE_TAGS + # When this is true, various build time as well as runtime debugfs restrictions are enabled. _product_single_value_vars += PRODUCT_SET_DEBUGFS_RESTRICTIONS diff --git a/core/product_config.mk b/core/product_config.mk index 37146d3a97..b93f5be1d9 100644 --- a/core/product_config.mk +++ b/core/product_config.mk @@ -278,6 +278,14 @@ all_product_makefiles := all_product_configs := ############################################################################# +# Check product include tag allowlist +BLUEPRINT_INCLUDE_TAGS_ALLOWLIST := com.android.mainline_go com.android.mainline +.KATI_READONLY := BLUEPRINT_INCLUDE_TAGS_ALLOWLIST +$(foreach include_tag,$(PRODUCT_INCLUDE_TAGS), \ + $(if $(filter $(include_tag),$(BLUEPRINT_INCLUDE_TAGS_ALLOWLIST)),,\ + $(call pretty-error, $(include_tag) is not in BLUEPRINT_INCLUDE_TAGS_ALLOWLIST: $(BLUEPRINT_INCLUDE_TAGS_ALLOWLIST)))) +############################################################################# + # Quick check and assign default values TARGET_DEVICE := $(PRODUCT_DEVICE) diff --git a/core/soong_config.mk b/core/soong_config.mk index e84dfe5733..14976ea528 100644 --- a/core/soong_config.mk +++ b/core/soong_config.mk @@ -312,6 +312,8 @@ $(call add_json_bool, GenerateAidlNdkPlatformBackend, $(filter true,$(NEED_AIDL_ $(call add_json_bool, ForceMultilibFirstOnDevice, $(filter true,$(FORCE_MULTILIB_FIRST_ON_DEVICE))) +$(call add_json_list, IncludeTags, $(PRODUCT_INCLUDE_TAGS)) + $(call json_end) $(file >$(SOONG_VARIABLES).tmp,$(json_contents)) diff --git a/core/tasks/sts-lite.mk b/core/tasks/sts-lite.mk index dee25d4802..65c65c3dc6 100644 --- a/core/tasks/sts-lite.mk +++ b/core/tasks/sts-lite.mk @@ -29,7 +29,8 @@ $(sts_sdk_zip): $(MERGE_ZIPS) $(ZIP2ZIP) $(compatibility_zip) $(sts_sdk_samples) $(ZIP2ZIP) -i $(STS_LITE_ZIP) -o $(STS_LITE_ZIP)_filtered \ -x android-sts-lite/tools/sts-tradefed-tests.jar \ 'android-sts-lite/tools/*:sts-test/libs/' \ - 'android-sts-lite/testcases/*:sts-test/utils/' + 'android-sts-lite/testcases/*:sts-test/utils/' \ + 'android-sts-lite/jdk/**/*:sts-test/jdk/' $(MERGE_ZIPS) $@ $(STS_LITE_ZIP)_filtered $(STS_SDK_SAMPLES) rm -f $(STS_LITE_ZIP)_filtered diff --git a/core/tasks/tools/compatibility.mk b/core/tasks/tools/compatibility.mk index 91279309ba..396ac76f45 100644 --- a/core/tasks/tools/compatibility.mk +++ b/core/tasks/tools/compatibility.mk @@ -30,7 +30,6 @@ test_suite_subdir := android-$(test_suite_name) out_dir := $(HOST_OUT)/$(test_suite_name)/$(test_suite_subdir) test_artifacts := $(COMPATIBILITY.$(test_suite_name).FILES) test_tools := $(HOST_OUT_JAVA_LIBRARIES)/tradefed.jar \ - $(HOST_OUT_JAVA_LIBRARIES)/tradefed-no-fwk.jar \ $(HOST_OUT_JAVA_LIBRARIES)/tradefed-test-framework.jar \ $(HOST_OUT_JAVA_LIBRARIES)/loganalysis.jar \ $(HOST_OUT_JAVA_LIBRARIES)/compatibility-host-util.jar \ diff --git a/core/version_defaults.mk b/core/version_defaults.mk index affdb7afa4..6f0076103c 100644 --- a/core/version_defaults.mk +++ b/core/version_defaults.mk @@ -111,7 +111,7 @@ ifndef PLATFORM_SECURITY_PATCH # It must be of the form "YYYY-MM-DD" on production devices. # It must match one of the Android Security Patch Level strings of the Public Security Bulletins. # If there is no $PLATFORM_SECURITY_PATCH set, keep it empty. - PLATFORM_SECURITY_PATCH := 2023-05-05 + PLATFORM_SECURITY_PATCH := 2023-06-05 endif include $(BUILD_SYSTEM)/version_util.mk diff --git a/target/board/BoardConfigEmuCommon.mk b/target/board/BoardConfigEmuCommon.mk index c0e8730e91..cc5e3ab88a 100644 --- a/target/board/BoardConfigEmuCommon.mk +++ b/target/board/BoardConfigEmuCommon.mk @@ -26,51 +26,34 @@ USE_OPENGL_RENDERER := true # Emulator doesn't support sparse image format. TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true -ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS),true) - # emulator is Non-A/B device - AB_OTA_UPDATER := false +# emulator is Non-A/B device +AB_OTA_UPDATER := false - # emulator needs super.img - BOARD_BUILD_SUPER_IMAGE_BY_DEFAULT := true +# emulator needs super.img +BOARD_BUILD_SUPER_IMAGE_BY_DEFAULT := true - # 8G + 8M - BOARD_SUPER_PARTITION_SIZE := 8598323200 - BOARD_SUPER_PARTITION_GROUPS := emulator_dynamic_partitions +# 8G + 8M +BOARD_SUPER_PARTITION_SIZE := 8598323200 +BOARD_SUPER_PARTITION_GROUPS := emulator_dynamic_partitions - ifeq ($(QEMU_USE_SYSTEM_EXT_PARTITIONS),true) - BOARD_EMULATOR_DYNAMIC_PARTITIONS_PARTITION_LIST := \ - system \ - system_ext \ - product \ - vendor +BOARD_EMULATOR_DYNAMIC_PARTITIONS_PARTITION_LIST := \ + system \ + system_dlkm \ + system_ext \ + product \ + vendor - TARGET_COPY_OUT_PRODUCT := product - BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 - TARGET_COPY_OUT_SYSTEM_EXT := system_ext - BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 - else - TARGET_COPY_OUT_PRODUCT := system/product - TARGET_COPY_OUT_SYSTEM_EXT := system/system_ext - BOARD_EMULATOR_DYNAMIC_PARTITIONS_PARTITION_LIST := \ - system \ - vendor - endif +TARGET_COPY_OUT_PRODUCT := product +BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 +TARGET_COPY_OUT_SYSTEM_EXT := system_ext +BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 - # 8G - BOARD_EMULATOR_DYNAMIC_PARTITIONS_SIZE := 8589934592 +BOARD_USES_SYSTEM_DLKMIMAGE := true +BOARD_SYSTEM_DLKMIMAGE_FILE_SYSTEM_TYPE := erofs +TARGET_COPY_OUT_SYSTEM_DLKM := system_dlkm - # in build environment to speed up make -j - ifeq ($(QEMU_DISABLE_AVB),true) - BOARD_AVB_ENABLE := false - endif -else ifeq ($(PRODUCT_USE_DYNAMIC_PARTITION_SIZE),true) - # Enable dynamic system image size and reserved 64MB in it. - BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 67108864 - BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE := 67108864 -else - BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3221225472 - BOARD_VENDORIMAGE_PARTITION_SIZE := 146800640 -endif +# 8G +BOARD_EMULATOR_DYNAMIC_PARTITIONS_SIZE := 8589934592 #vendor boot BOARD_INCLUDE_DTB_IN_BOOTIMG := false diff --git a/target/board/generic_64bitonly_x86_64/BoardConfig.mk b/target/board/generic_64bitonly_x86_64/BoardConfig.mk index 71c4357ec4..a240eab5ee 100644 --- a/target/board/generic_64bitonly_x86_64/BoardConfig.mk +++ b/target/board/generic_64bitonly_x86_64/BoardConfig.mk @@ -26,7 +26,10 @@ TARGET_2ND_ARCH := x86 TARGET_2ND_ARCH_VARIANT := x86_64 TARGET_PRELINK_MODULE := false + include build/make/target/board/BoardConfigGsiCommon.mk + +ifndef BUILDING_GSI include build/make/target/board/BoardConfigEmuCommon.mk BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800 @@ -43,3 +46,5 @@ WPA_SUPPLICANT_VERSION := VER_0_8_X WIFI_DRIVER_FW_PATH_PARAM := "/dev/null" WIFI_DRIVER_FW_PATH_STA := "/dev/null" WIFI_DRIVER_FW_PATH_AP := "/dev/null" + +endif # !BUILDING_GSI diff --git a/target/product/cfi-common.mk b/target/product/cfi-common.mk index e763d3fc9b..e62185224c 100644 --- a/target/product/cfi-common.mk +++ b/target/product/cfi-common.mk @@ -28,6 +28,7 @@ PRODUCT_CFI_INCLUDE_PATHS := \ hardware/broadcom/wlan/bcmdhd/wpa_supplicant_8_lib \ hardware/synaptics/wlan/synadhd/wpa_supplicant_8_lib \ hardware/interfaces/nfc \ + hardware/qcom/wlan/qcwcn/wpa_supplicant_8_lib \ hardware/qcom/wlan/legacy/qcwcn/wpa_supplicant_8_lib \ hardware/qcom/wlan/wcn6740/qcwcn/wpa_supplicant_8_lib \ hardware/qcom/wlan/qcwcn/wpa_supplicant_8_lib \ diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py index a4baec7e2e..1fdf16a739 100644 --- a/tools/releasetools/common.py +++ b/tools/releasetools/common.py @@ -2312,12 +2312,22 @@ def GetMinSdkVersionInt(apk_name, codename_to_api_level_map): try: return int(version) except ValueError: - # Not a decimal number. Codename? - if version in codename_to_api_level_map: - return codename_to_api_level_map[version] + # Not a decimal number. + # + # It could be either a straight codename, e.g. + # UpsideDownCake + # + # Or a codename with API fingerprint SHA, e.g. + # UpsideDownCake.e7d3947f14eb9dc4fec25ff6c5f8563e + # + # Extract the codename and try and map it to a version number. + split = version.split(".") + codename = split[0] + if codename in codename_to_api_level_map: + return codename_to_api_level_map[codename] raise ExternalError( - "Unknown minSdkVersion: '{}'. Known codenames: {}".format( - version, codename_to_api_level_map)) + "Unknown codename: '{}' from minSdkVersion: '{}'. Known codenames: {}".format( + codename, version, codename_to_api_level_map)) def SignFile(input_name, output_name, key, password, min_api_level=None,