Only set TARGET_PLATFORM version in lunch when explicitly requested
Setting TARGET_PLATFORM_VERSION to DEFAULT_PLATFORM_VERSION during
"lunch sailfish-userdebug" causes unnecessary pain when
DEFAULT_PLATFORM_VERSION becomes invalid after branching. Only
set TARGET_PLATFORM_VERSION if it was explicitly requested with
lunch sailfish-userdebug-OPR1.
Test: build/make/tests/envsetup_tests.sh
Bug: 34972208
Bug: 37208937
Change-Id: I40ba4617e73803c5bec1a8d317382f70fb3ec3a2
diff --git a/core/version_defaults.mk b/core/version_defaults.mk
index ad8561d..324fd24 100644
--- a/core/version_defaults.mk
+++ b/core/version_defaults.mk
@@ -49,6 +49,12 @@
ifndef TARGET_PLATFORM_VERSION
TARGET_PLATFORM_VERSION := $(DEFAULT_PLATFORM_VERSION)
+else ifeq ($(TARGET_PLATFORM_VERSION),OPR1)
+ # HACK: lunch currently sets TARGET_PLATFORM_VERSION to
+ # DEFAULT_PLATFORM_VERSION, which causes unnecessary pain
+ # when the old DEFAULT_PLATFORM_VERSION becomes invalid.
+ # For now, silently upgrade OPR1 to the current default.
+ TARGET_PLATFORM_VERSION := $(DEFAULT_PLATFORM_VERSION)
endif
ifeq (,$(filter $(ALLOWED_VERSIONS), $(TARGET_PLATFORM_VERSION)))
diff --git a/envsetup.sh b/envsetup.sh
index 55f4983..b40c2a1 100644
--- a/envsetup.sh
+++ b/envsetup.sh
@@ -620,7 +620,11 @@
export TARGET_PRODUCT=$(get_build_var TARGET_PRODUCT)
export TARGET_BUILD_VARIANT=$(get_build_var TARGET_BUILD_VARIANT)
- export TARGET_PLATFORM_VERSION=$(get_build_var TARGET_PLATFORM_VERSION)
+ if [ -n "$version" ]; then
+ export TARGET_PLATFORM_VERSION=$(get_build_var TARGET_PLATFORM_VERSION)
+ else
+ unset TARGET_PLATFORM_VERSION
+ fi
export TARGET_BUILD_TYPE=release
echo
diff --git a/tests/envsetup_tests.sh b/tests/envsetup_tests.sh
index 4aae255..abdcd56 100755
--- a/tests/envsetup_tests.sh
+++ b/tests/envsetup_tests.sh
@@ -19,8 +19,9 @@
valid_version=PPR1
# lunch tests
-check_lunch "aosp_arm64" "aosp_arm64" "eng" "$default_version"
-check_lunch "aosp_arm64-userdebug" "aosp_arm64" "userdebug" "$default_version"
+check_lunch "aosp_arm64" "aosp_arm64" "eng" ""
+check_lunch "aosp_arm64-userdebug" "aosp_arm64" "userdebug" ""
+check_lunch "aosp_arm64-userdebug-$default_version" "aosp_arm64" "userdebug" "$default_version"
check_lunch "aosp_arm64-userdebug-$valid_version" "aosp_arm64" "userdebug" "$valid_version"
check_lunch "abc" "" "" ""
check_lunch "aosp_arm64-abc" "" "" ""