From 4d24cbd04490f7b42ae7dd48cc4544b3627ca6fd Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 27 Mar 2023 20:30:55 +0000 Subject: [PATCH] Separate active codenames and preview codenames. Using PLATFORM_VERSION_ALL_CODENAMES (which is a bad name for historical reasons) for discovering preview API levels doesn't work in the narrow window where the branch's development is not for the latest release. Create a second variable for preview codenames and expose it to soong. Bug: None Test: None Change-Id: I8c271c1d646ea8285553614c6bca944227a0e643 --- core/soong_config.mk | 1 + core/version_util.mk | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/core/soong_config.mk b/core/soong_config.mk index 0101796d8a..1dd02d00dc 100644 --- a/core/soong_config.mk +++ b/core/soong_config.mk @@ -31,6 +31,7 @@ $(call add_json_bool, Platform_sdk_final, $(filter REL,$(PLATFORM $(call add_json_val, Platform_sdk_extension_version, $(PLATFORM_SDK_EXTENSION_VERSION)) $(call add_json_val, Platform_base_sdk_extension_version, $(PLATFORM_BASE_SDK_EXTENSION_VERSION)) $(call add_json_csv, Platform_version_active_codenames, $(PLATFORM_VERSION_ALL_CODENAMES)) +$(call add_json_csv, Platform_version_all_preview_codenames, $(PLATFORM_VERSION_ALL_PREVIEW_CODENAMES)) $(call add_json_str, Platform_security_patch, $(PLATFORM_SECURITY_PATCH)) $(call add_json_str, Platform_preview_sdk_version, $(PLATFORM_PREVIEW_SDK_VERSION)) $(call add_json_str, Platform_base_os, $(PLATFORM_BASE_OS)) diff --git a/core/version_util.mk b/core/version_util.mk index cbfef96593..47883d8a89 100644 --- a/core/version_util.mk +++ b/core/version_util.mk @@ -80,13 +80,28 @@ $(foreach version,$(_versions_in_target),\ $(if $(filter $(_codename),$(PLATFORM_VERSION_ALL_CODENAMES)),,\ $(eval PLATFORM_VERSION_ALL_CODENAMES += $(_codename)))) +# And the list of actually all the codenames that are in preview. The +# ALL_CODENAMES variable is sort of a lie for historical reasons and only +# includes codenames up to and including the currently active codename, whereas +# this variable also includes future codenames. For example, while AOSP is still +# merging into U, but V development has started, ALL_CODENAMES will only be U, +# but ALL_PREVIEW_CODENAMES will be U and V. +PLATFORM_VERSION_ALL_PREVIEW_CODENAMES := +$(foreach version,$(ALL_VERSIONS),\ + $(eval _codename := $(PLATFORM_VERSION_CODENAME.$(version)))\ + $(if $(filter $(_codename),$(PLATFORM_VERSION_ALL_PREVIEW_CODENAMES)),,\ + $(eval PLATFORM_VERSION_ALL_PREVIEW_CODENAMES += $(_codename)))) + # And convert from space separated to comma separated. PLATFORM_VERSION_ALL_CODENAMES := \ $(subst $(space),$(comma),$(strip $(PLATFORM_VERSION_ALL_CODENAMES))) +PLATFORM_VERSION_ALL_PREVIEW_CODENAMES := \ + $(subst $(space),$(comma),$(strip $(PLATFORM_VERSION_ALL_PREVIEW_CODENAMES))) .KATI_READONLY := \ PLATFORM_VERSION_CODENAME \ - PLATFORM_VERSION_ALL_CODENAMES + PLATFORM_VERSION_ALL_CODENAMES \ + PLATFORM_VERSION_ALL_PREVIEW_CODENAMES \ ifneq (REL,$(PLATFORM_VERSION_CODENAME)) codenames := \