diff --git a/buildspec.mk.default b/buildspec.mk.default index a7ac7ec96..b31578a29 100644 --- a/buildspec.mk.default +++ b/buildspec.mk.default @@ -36,6 +36,12 @@ ifndef TARGET_BUILD_VARIANT #TARGET_BUILD_VARIANT:=eng endif +# Choose a targeted release. If you don't pick one, the default is the +# soonest future release. +ifndef TARGET_PLATFORM_RELEASE +#TARGET_PLATFORM_RELEASE:=OPR1 +endif + # Choose additional targets to always install, even when building # minimal targets like "make droid". This takes simple target names # like "Browser" or "MyApp", the names used by LOCAL_MODULE or @@ -105,4 +111,4 @@ endif # variable will be changed. After you have modified this file with the new # changes (see buildspec.mk.default), update this to the new value from # buildspec.mk.default. -BUILD_ENV_SEQUENCE_NUMBER := 12 +BUILD_ENV_SEQUENCE_NUMBER := 13 diff --git a/core/dumpvar.mk b/core/dumpvar.mk index 74ea3ff98..acae48eec 100644 --- a/core/dumpvar.mk +++ b/core/dumpvar.mk @@ -6,6 +6,7 @@ print_build_config_vars := \ TARGET_PRODUCT \ TARGET_BUILD_VARIANT \ TARGET_BUILD_TYPE \ + TARGET_PLATFORM_VERSION \ TARGET_BUILD_APPS \ TARGET_ARCH \ TARGET_ARCH_VARIANT \ diff --git a/core/envsetup.mk b/core/envsetup.mk index 3430a496f..199fe9b4c 100644 --- a/core/envsetup.mk +++ b/core/envsetup.mk @@ -20,7 +20,7 @@ include $(BUILD_SYSTEM)/version_defaults.mk # people who haven't re-run those will have to do so before they # can build. Make sure to also update the corresponding value in # buildspec.mk.default and envsetup.sh. -CORRECT_BUILD_ENV_SEQUENCE_NUMBER := 12 +CORRECT_BUILD_ENV_SEQUENCE_NUMBER := 13 # --------------------------------------------------------------- # The product defaults to generic on hardware diff --git a/core/version_defaults.mk b/core/version_defaults.mk index 3e3b6f04a..62e5499f1 100644 --- a/core/version_defaults.mk +++ b/core/version_defaults.mk @@ -58,6 +58,8 @@ endef ALL_VERSIONS := O P ALL_VERSIONS := $(foreach v,$(ALL_VERSIONS),$(call version-list,$(v))) +DEFAULT_PLATFORM_VERSION := OPR1 + # HACK: forward P to PPR1 until the build server config is updated ifeq (P,$(TARGET_PLATFORM_VERSION)) TARGET_PLATFORM_VERSION := PPR1 @@ -67,7 +69,7 @@ ifeq (,$(TARGET_PLATFORM_VERSION)) # Default targeted platform version # TODO: PLATFORM_VERSION, PLATFORM_SDK_VERSION, etc. should be conditional # on this - TARGET_PLATFORM_VERSION := OPR1 + TARGET_PLATFORM_VERSION := $(DEFAULT_PLATFORM_VERSION) endif ifeq (,$(filter $(ALL_VERSIONS), $(TARGET_PLATFORM_VERSION))) diff --git a/envsetup.sh b/envsetup.sh index 9680780f3..22808f48d 100644 --- a/envsetup.sh +++ b/envsetup.sh @@ -296,7 +296,7 @@ function set_stuff_for_environment() function set_sequence_number() { - export BUILD_ENV_SEQUENCE_NUMBER=12 + export BUILD_ENV_SEQUENCE_NUMBER=13 } function settitle() @@ -569,50 +569,42 @@ function lunch() then selection=${LUNCH_MENU_CHOICES[$(($answer-1))]} fi - elif (echo -n $answer | grep -q -e "^[^\-][^\-]*-[^\-][^\-]*$") - then + else selection=$answer fi - if [ -z "$selection" ] - then - echo - echo "Invalid lunch combo: $answer" - return 1 - fi - export TARGET_BUILD_APPS= - local variant=$(echo -n $selection | sed -e "s/^[^\-]*-//") - check_variant $variant - if [ $? -ne 0 ] - then - echo - echo "** Invalid variant: '$variant'" - echo "** Must be one of ${VARIANT_CHOICES[@]}" - variant= + local product variant_and_version variant version + + product=${selection%%-*} # Trim everything after first dash + variant_and_version=${selection#*-} # Trim everything up to first dash + if [ "$variant_and_version" != "$selection" ]; then + variant=${variant_and_version%%-*} + if [ "$variant" != "$variant_and_version" ]; then + version=${variant_and_version#*-} + fi fi - local product=$(echo -n $selection | sed -e "s/-.*$//") - TARGET_PRODUCT=$product \ - TARGET_BUILD_VARIANT=$variant \ - build_build_var_cache - if [ $? -ne 0 ] - then - echo - echo "** Don't have a product spec for: '$product'" - echo "** Do you have the right repo manifest?" - product= - fi - - if [ -z "$product" -o -z "$variant" ] + if [ -z "$product" ] then echo + echo "Invalid lunch combo: $selection" return 1 fi - export TARGET_PRODUCT=$product - export TARGET_BUILD_VARIANT=$variant + TARGET_PRODUCT=$product \ + TARGET_BUILD_VARIANT=$variant \ + TARGET_PLATFORM_VERSION=$version \ + build_build_var_cache + if [ $? -ne 0 ] + then + return 1 + fi + + 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) export TARGET_BUILD_TYPE=release echo diff --git a/tests/envsetup_tests.sh b/tests/envsetup_tests.sh new file mode 100755 index 000000000..4aae2559b --- /dev/null +++ b/tests/envsetup_tests.sh @@ -0,0 +1,36 @@ +#!/bin/bash -e + +source $(dirname $0)/../envsetup.sh + +unset TARGET_PRODUCT TARGET_BUILD_VARIANT TARGET_PLATFORM_VERSION + +function check_lunch +( + echo lunch $1 + set +e + lunch $1 > /dev/null 2> /dev/null + set -e + [ "$TARGET_PRODUCT" = "$2" ] || ( echo "lunch $1: expected TARGET_PRODUCT='$2', got '$TARGET_PRODUCT'" && exit 1 ) + [ "$TARGET_BUILD_VARIANT" = "$3" ] || ( echo "lunch $1: expected TARGET_BUILD_VARIANT='$3', got '$TARGET_BUILD_VARIANT'" && exit 1 ) + [ "$TARGET_PLATFORM_VERSION" = "$4" ] || ( echo "lunch $1: expected TARGET_PLATFORM_VERSION='$4', got '$TARGET_PLATFORM_VERSION'" && exit 1 ) +) + +default_version=$(get_build_var DEFAULT_PLATFORM_VERSION) +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-userdebug-$valid_version" "aosp_arm64" "userdebug" "$valid_version" +check_lunch "abc" "" "" "" +check_lunch "aosp_arm64-abc" "" "" "" +check_lunch "aosp_arm64-userdebug-abc" "" "" "" +check_lunch "aosp_arm64-abc-$valid_version" "" "" "" +check_lunch "abc-userdebug-$valid_version" "" "" "" +check_lunch "-" "" "" "" +check_lunch "--" "" "" "" +check_lunch "-userdebug" "" "" "" +check_lunch "-userdebug-" "" "" "" +check_lunch "-userdebug-$valid_version" "" "" "" +check_lunch "aosp_arm64-userdebug-$valid_version-" "" "" "" +check_lunch "aosp_arm64-userdebug-$valid_version-abc" "" "" ""