From 5346f7db625d2a851f95b20d94a30efb12dd44fb Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 4 Oct 2023 23:03:13 +0000 Subject: [PATCH] Filter REL out of PLATFORM_VERSION_ALL_CODENAMES. The codename of the current release is replaced by "REL" when the build is configured as a release rather than a preview. For example, PLATFORM_VERSION_CODENAME.UpsideDownCake will be "REL" rather than UpsideDownCake in a -next target when the upcoming release is UpsideDownCake. "REL" shouldn't really be treated as a codename though. It's a placeholder to indicate that the build is a release and so doesn't really have a codename. The list of all codenames ends up in ro.build.version.all_codenames, and also ends up feeding the logic for stub generation in soong, neither of which are places that should include REL. Bug: http://b/303087088 Test: m ndk # with barbet-next-userdebug in goog/main Change-Id: I97972439e1f06c09f0ed59e7e2191c489a214e88 --- core/version_util.mk | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/core/version_util.mk b/core/version_util.mk index dca7482ef5..f08b2f94c7 100644 --- a/core/version_util.mk +++ b/core/version_util.mk @@ -79,12 +79,23 @@ PLATFORM_VERSION_ALL_CODENAMES := # Build a list of all active code names. Avoid duplicates, and stop when we # reach a codename that matches PLATFORM_VERSION_CODENAME (anything beyond # that is not included in our build). +# +# REL is filtered out of the list. The codename of the current release is +# replaced by "REL" when the build is configured as a release rather than a +# preview. For example, PLATFORM_VERSION_CODENAME.UpsideDownCake will be "REL" +# rather than UpsideDownCake in a -next target when the upcoming release is +# UpsideDownCake. "REL" shouldn't really be treated as a codename though. It's a +# placeholder to indicate that the build is a release and so doesn't really have +# a codename. The list of all codenames ends up in +# ro.build.version.all_codenames, and also ends up feeding the logic for stub +# generation in soong, neither of which are places that should include REL. _versions_in_target := \ $(call find_and_earlier,$(ALL_VERSIONS),$(TARGET_PLATFORM_VERSION)) $(foreach version,$(_versions_in_target),\ $(eval _codename := $(PLATFORM_VERSION_CODENAME.$(version)))\ - $(if $(filter $(_codename),$(PLATFORM_VERSION_ALL_CODENAMES)),,\ - $(eval PLATFORM_VERSION_ALL_CODENAMES += $(_codename)))) + $(if $(filter REL,$(_codename)),,\ + $(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