aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2017-08-03 02:21:27 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-08-03 02:21:27 +0000
commit577ff4730fdc1c2caf27a485106e31e04d61893f (patch)
treeb44c91af94278813c6097949e303c133ef1561d5
parentcf021094f12d0cefa48828a72c38a915290f0fc8 (diff)
parentcd38b8601665e4474ec4536229d3c9b7eba2261f (diff)
downloadbuild-577ff4730fdc1c2caf27a485106e31e04d61893f.tar.gz
Merge "Add PLATFORM_VERSION_FUTURE_CODENAMES."
-rw-r--r--core/soong_config.mk3
-rw-r--r--core/version_defaults.mk27
2 files changed, 24 insertions, 6 deletions
diff --git a/core/soong_config.mk b/core/soong_config.mk
index cdd289675d..fea046564b 100644
--- a/core/soong_config.mk
+++ b/core/soong_config.mk
@@ -34,7 +34,8 @@ $(SOONG_VARIABLES): FORCE
echo ' "Make_suffix": "-$(TARGET_PRODUCT)",'; \
echo ''; \
echo ' "Platform_sdk_version": $(PLATFORM_SDK_VERSION),'; \
- echo ' "Platform_version_all_codenames": $(call csv_to_json_list,$(PLATFORM_VERSION_ALL_CODENAMES)),'; \
+ echo ' "Platform_version_active_codenames": $(call csv_to_json_list,$(PLATFORM_VERSION_ALL_CODENAMES)),'; \
+ echo ' "Platform_version_future_codenames": $(call csv_to_json_list,$(PLATFORM_VERSION_FUTURE_CODENAMES)),'; \
echo ' "Unbundled_build": $(if $(TARGET_BUILD_APPS),true,false),'; \
echo ' "Brillo": $(if $(BRILLO),true,false),'; \
echo ' "Malloc_not_svelte": $(if $(filter true,$(MALLOC_SVELTE)),false,true),'; \
diff --git a/core/version_defaults.mk b/core/version_defaults.mk
index 3506fff6e5..083e01b6d4 100644
--- a/core/version_defaults.mk
+++ b/core/version_defaults.mk
@@ -129,14 +129,17 @@ ifndef PLATFORM_VERSION_CODENAME
PLATFORM_VERSION_CODENAME := $(TARGET_PLATFORM_VERSION)
endif
- # 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.
+ # This is all of the *active* development codenames. There are future
+ # codenames not included in this list. This confusing name is needed because
+ # all_codenames has been baked into build.prop for ages.
+ #
+ # 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 :=
- # Build a list of all possible code names. Avoid duplicates, and stop when we
+ # 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.
+ # that is not included in our build).
_versions_in_target := \
$(call find_and_earlier,$(ALL_VERSIONS),$(TARGET_PLATFORM_VERSION))
$(foreach version,$(_versions_in_target),\
@@ -144,9 +147,23 @@ ifndef PLATFORM_VERSION_CODENAME
$(if $(filter $(_codename),$(PLATFORM_VERSION_ALL_CODENAMES)),,\
$(eval PLATFORM_VERSION_ALL_CODENAMES += $(_codename))))
+ # This is all of the inactive development codenames. Available to be targeted
+ # in this branch but in the future relative to our current target.
+ PLATFORM_VERSION_FUTURE_CODENAMES :=
+
+ # Build a list of all untargeted code names. Avoid duplicates.
+ _versions_not_in_target := \
+ $(filter-out $(PLATFORM_VERSION_ALL_CODENAMES),$(ALL_VERSIONS))
+ $(foreach version,$(_versions_not_in_target),\
+ $(eval _codename := $(PLATFORM_VERSION_CODENAME.$(version)))\
+ $(if $(filter $(_codename),$(PLATFORM_VERSION_FUTURE_CODENAMES)),,\
+ $(eval PLATFORM_VERSION_FUTURE_CODENAMES += $(_codename))))
+
# And convert from space separated to comma separated.
PLATFORM_VERSION_ALL_CODENAMES := \
$(subst $(space),$(comma),$(strip $(PLATFORM_VERSION_ALL_CODENAMES)))
+ PLATFORM_VERSION_FUTURE_CODENAMES := \
+ $(subst $(space),$(comma),$(strip $(PLATFORM_VERSION_FUTURE_CODENAMES)))
endif