Auto-generate PLATFORM_VERSION_ALL_CODENAMES.
Test: Temporarily added additional codenames for OPD1 -> O and
OPM1 -> O-MR1. Lunched aosp_sailfish-eng, built build.prop and
checked that ro.build.version.all_codenames was "O". Then
lunched aosp_sailfish-eng-PPR1 and checked that it was
"O,O-MR1,P".
Bug: None
Change-Id: I51189f5b40e3e7f99e2fc08bb5616c51a23e3b19
diff --git a/core/version_defaults.mk b/core/version_defaults.mk
index e11e8b3..1c22855 100644
--- a/core/version_defaults.mk
+++ b/core/version_defaults.mk
@@ -66,9 +66,9 @@
# than overriding it somewhere else). Can be an arbitrary string.
PLATFORM_VERSION.OPR1 := O
-# This is the current development code-name, if the build is not a final
-# release build. If this is a final release build, it is simply "REL".
+# These are the current development codenames.
PLATFORM_VERSION_CODENAME.OPR1 := O
+PLATFORM_VERSION_CODENAME.PPR1 := P
ifndef PLATFORM_VERSION
PLATFORM_VERSION := $(PLATFORM_VERSION.$(TARGET_PLATFORM_VERSION))
@@ -109,7 +109,22 @@
# This is all of the development codenames that are active. Should be either
# the same as PLATFORM_VERSION_CODENAME or a comma-separated list of additional
# codenames after PLATFORM_VERSION_CODENAME.
- PLATFORM_VERSION_ALL_CODENAMES := $(PLATFORM_VERSION_CODENAME)
+ PLATFORM_VERSION_ALL_CODENAMES :=
+
+ # Build a list of all possible 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.
+ _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))))
+
+ # And convert from space separated to comma separated.
+ PLATFORM_VERSION_ALL_CODENAMES := \
+ $(subst $(space),$(comma),$(strip $(PLATFORM_VERSION_ALL_CODENAMES)))
+
endif
ifeq (REL,$(PLATFORM_VERSION_CODENAME))