diff --git a/scripts/bash/npm-helpers/npm_generate_version.sh b/scripts/bash/npm-helpers/npm_generate_version.sh index 7f47beaaadbd9f1fb3ba89e4d880d06f878c090c..42b9c8c323dc93ddee8c60e095a8467b8eb6c8fd 100755 --- a/scripts/bash/npm-helpers/npm_generate_version.sh +++ b/scripts/bash/npm-helpers/npm_generate_version.sh @@ -12,6 +12,8 @@ SCOPE="${3:?Missing arg #3 pointing a package scope}" PROJECT_NAME="${4:?Missing arg #4 pointing a project name}" +DIST_TAG=${5:-"dev"} + git config --global --add safe.directory '*' git fetch --tags --quiet @@ -21,19 +23,6 @@ pushd "${PROJECT_DIR}" GIT_COMMIT_HASH=$(git rev-parse HEAD) SHORT_HASH=$(git rev-parse --short HEAD) -# warning: same commit can be referenced from multiple branches. It often happens between main/master and develop branches. Let's make a priority for main/master -CURRENT_BRANCH_IMPL=$(git branch -r --contains "${SHORT_HASH}" --list origin/master --list origin/main) - -if [ "${CURRENT_BRANCH_IMPL}" = "" ]; then - CURRENT_BRANCH_IMPL=$(git branch -r --contains "${SHORT_HASH}" --list origin/develop) -fi - -if [ "${CURRENT_BRANCH_IMPL}" = "" ]; then - CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) -else - CURRENT_BRANCH="${CURRENT_BRANCH_IMPL#*/}" -fi - GIT_COMMIT_TIME=$(TZ=UTC0 git show --quiet --date='format-local:%Y%m%d%H%M%S' --format="%cd") TAG_TIME=${GIT_COMMIT_TIME:2} _TAG=$(git tag --sort=-taggerdate | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+(-.+)?' | head -1) @@ -44,28 +33,24 @@ TAG="${_TAG/\-${PROJECT_NAME}\-/}" echo "Corrected tag (skipped subproject -${PROJECT_NAME}- suffix): ${TAG}" -echo "Preparing npm packge for ${CURRENT_BRANCH}@${TAG} (#${SHORT_HASH})" +echo "Preparing npm package for ${PROJECT_NAME}@${TAG} (#${SHORT_HASH})" if [ "${TAG}" = "" ]; then echo "Could not find a valid tag name for branch" exit 1 fi -DIST_TAG="" NEW_VERSION="" -if [[ "$CURRENT_BRANCH" = "master" ]] || [[ "$CURRENT_BRANCH" = "main" ]]; then - DIST_TAG="latest" +if [ "${DIST_TAG}" = "latest" ]; then NEW_VERSION="${TAG}" -elif [ "$CURRENT_BRANCH" = "develop" ]; then - DIST_TAG="stable" +elif [ "$DIST_TAG" = "stable" ]; then NEW_VERSION="${TAG}-stable.${TAG_TIME}" else DIST_TAG="dev" NEW_VERSION="${TAG}-${TAG_TIME}" fi - git checkout "${PROJECT_DIR}/package.json" # be sure we're on clean version jq ".name = \"${SCOPE}/${PROJECT_NAME}\" | .version = \"$NEW_VERSION\" | .publishConfig.registry = \"https://${REGISTRY_URL}\" | .publishConfig.tag = \"${DIST_TAG}\"" "${PROJECT_DIR}/package.json" > "${PROJECT_DIR}/package.json.tmp"