From e760b7b3d28b01b68eabae720b915964aa77d92b Mon Sep 17 00:00:00 2001 From: Eugenio Romano Date: Mon, 13 Nov 2017 23:06:47 +0000 Subject: [PATCH] add alpha and beta logic in script --- scripts/next_version.sh | 99 ++++++++++++++++++++++++++++++++--------- 1 file changed, 78 insertions(+), 21 deletions(-) diff --git a/scripts/next_version.sh b/scripts/next_version.sh index 92a9ba025c..01fb32d1f9 100755 --- a/scripts/next_version.sh +++ b/scripts/next_version.sh @@ -5,43 +5,40 @@ set -f DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +eval EXEC_PATCH=false +eval EXEC_MAJOR=false +eval EXEC_MINOR=false +eval EXEC_BETA=false +eval EXEC_ALPHA=false show_help() { echo "Usage: next_version.sh" echo "" echo "-major increase the major number and reset minor and patch" echo "-minor increase the minor number and reset the patch number" - echo "-patch increase the patch number " + echo "-patch increase the patch number" + echo "-beta create beta name" + echo "-alpha create beta name" } major() { - ADF_VERSION=$(npm view ng2-alfresco-core version) - NEXT_VERSION=( ${ADF_VERSION//./ } ) - ((NEXT_VERSION[0]++)) - NEXT_VERSION[1]=0 - NEXT_VERSION[2]=0 - NEXT_VERSION="${NEXT_VERSION[0]}.${NEXT_VERSION[1]}.${NEXT_VERSION[2]}" - - echo $NEXT_VERSION + EXEC_MAJOR=TRUE } minor() { - ADF_VERSION=$(npm view ng2-alfresco-core version) - NEXT_VERSION=( ${ADF_VERSION//./ } ) - ((NEXT_VERSION[1]++)) - NEXT_VERSION[2]=0 - NEXT_VERSION="${NEXT_VERSION[0]}.${NEXT_VERSION[1]}.${NEXT_VERSION[2]}" - - echo $NEXT_VERSION + EXEC_MINOR=TRUE } patch() { - ADF_VERSION=$(npm view ng2-alfresco-core version) - NEXT_VERSION=( ${ADF_VERSION//./ } ) - ((NEXT_VERSION[2]++)) - NEXT_VERSION="${NEXT_VERSION[0]}.${NEXT_VERSION[1]}.${NEXT_VERSION[2]}" + EXEC_PATCH=TRUE +} - echo $NEXT_VERSION +alpha() { + EXEC_ALPHA=TRUE +} + +beta() { + EXEC_BETA=TRUE } while [[ $1 == -* ]]; do @@ -50,6 +47,66 @@ while [[ $1 == -* ]]; do -major) major; shift;; -minor) minor; shift;; -patch) patch; shift;; + -alpha) alpha; shift;; + -beta) beta; shift;; -*) echo "invalid option: $1" 1>&2; show_help; exit 1;; esac done + + +if $EXEC_MINOR == true; then + ADF_VERSION=$(npm view ng2-alfresco-core version) + NEXT_VERSION=( ${ADF_VERSION//./ } ) + ((NEXT_VERSION[1]++)) + NEXT_VERSION[2]=0 + NEXT_VERSION="${NEXT_VERSION[0]}.${NEXT_VERSION[1]}.${NEXT_VERSION[2]}" +fi + +if $EXEC_MAJOR == true; then + ADF_VERSION=$(npm view ng2-alfresco-core version) + NEXT_VERSION=( ${ADF_VERSION//./ } ) + ((NEXT_VERSION[0]++)) + NEXT_VERSION[1]=0 + NEXT_VERSION[2]=0 + NEXT_VERSION="${NEXT_VERSION[0]}.${NEXT_VERSION[1]}.${NEXT_VERSION[2]}" +fi + +if $EXEC_PATCH == true; then + ADF_VERSION=$(npm view ng2-alfresco-core version) + NEXT_VERSION=( ${ADF_VERSION//./ } ) + ((NEXT_VERSION[2]++)) + NEXT_VERSION="${NEXT_VERSION[0]}.${NEXT_VERSION[1]}.${NEXT_VERSION[2]}" +fi + + +if $EXEC_ALPHA == true; then + ISH_KEY=$(git rev-parse HEAD) + NEXT_VERSION=${NEXT_VERSION}-${ISH_KEY} +fi + +if $EXEC_BETA == true; then + BETA_VERSION=$(npm view ng2-alfresco-core@beta version) + + if [[ $BETA_VERSION == "" ]]; then + NEXT_BETA_VERSION=1 + NEXT_VERSION=${NEXT_VERSION}-beta${NEXT_BETA_VERSION} + else + NEXT_BETA_VERSION=( ${BETA_VERSION//-beta/ } ) + + # to reset the beta version in case of a new release + if [[ $NEXT_VERSION != ${NEXT_BETA_VERSION[0]} ]]; then + NEXT_BETA_VERSION[1]=0 + fi + + if [[ ${NEXT_BETA_VERSION[1]} == "" ]]; then + NEXT_BETA_VERSION[1]=0 + fi + + ((NEXT_BETA_VERSION[1]++)) + NEXT_VERSION=${NEXT_VERSION}-beta${NEXT_BETA_VERSION[1]} + fi +fi + +echo $NEXT_VERSION + +