Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8873713f authored by Colin Cross's avatar Colin Cross
Browse files

Add TARGET_PLATFORM_VERSION to lunch

lunch can now take combos in the form:
$TARGET_PRODUCT
$TARGET_PRODUCT-$TARGET_BUILD_VARIANT
$TARGET_PRODUCT-$TARGET_BUILD_VARIANT-$TARGET_PLATFORM_VERSION

If all 3 are not specified the unspecified ones will take the
default values provided by the build system (eng, and currently
OPR1).

In addition, error handling for invalid products, variants and
versions is moved to the build system.

Bug: 34972208
Test: build/make/tests/envsetup_tests.sh
Change-Id: Ib0aaa98633448ba9bd8df911704c9cb3a8ebbe85
parent 2c280271
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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 \
+1 −1
Original line number Diff line number Diff line
@@ -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
+3 −1
Original line number Diff line number Diff line
@@ -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)))
+20 −28
Original line number Diff line number Diff line
@@ -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 ]
    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

    if [ -z "$product" ]
    then
        echo
        echo "** Invalid variant: '$variant'"
        echo "** Must be one of ${VARIANT_CHOICES[@]}"
        variant=
        echo "Invalid lunch combo: $selection"
        return 1
    fi

    local product=$(echo -n $selection | sed -e "s/-.*$//")
    TARGET_PRODUCT=$product \
    TARGET_BUILD_VARIANT=$variant \
    TARGET_PLATFORM_VERSION=$version \
    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" ]
    then
        echo
        return 1
    fi

    export TARGET_PRODUCT=$product
    export TARGET_BUILD_VARIANT=$variant
    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
Loading