mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
add scripts bump and update (#8365)
This commit is contained in:
12
scripts/github/build/bumpversion.sh
Normal file
12
scripts/github/build/bumpversion.sh
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
|
cd $DIR/../../../
|
||||||
|
BRANCH=${GITHUB_REF##*/}
|
||||||
|
if [[ $BRANCH =~ ^develop(-patch.*)?$ ]]
|
||||||
|
then
|
||||||
|
echo "Replace NPM version with new Alpha tag"
|
||||||
|
NEXT_VERSION=-nextalpha
|
||||||
|
./scripts/update-version.sh -gnu $NEXT_VERSION || exit 1;
|
||||||
|
fi
|
242
scripts/update-version.sh
Normal file
242
scripts/update-version.sh
Normal file
@@ -0,0 +1,242 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
VERSION_IN_PACKAGE_JSON=`node -p "require('$DIR/../package.json')".version;`;
|
||||||
|
|
||||||
|
eval JS_API=true
|
||||||
|
eval GNU=false
|
||||||
|
eval DIFFERENT_JS_API=false
|
||||||
|
eval AUTO=false
|
||||||
|
eval TOTAL_BUILD=true;
|
||||||
|
eval SEMANTIC="minor";
|
||||||
|
|
||||||
|
eval projects=( "cli"
|
||||||
|
"core"
|
||||||
|
"content-services"
|
||||||
|
"process-services"
|
||||||
|
"process-services-cloud"
|
||||||
|
"insights"
|
||||||
|
"testing"
|
||||||
|
"extensions" )
|
||||||
|
|
||||||
|
cd `dirname $0`
|
||||||
|
|
||||||
|
prefix="@alfresco\/adf-"
|
||||||
|
|
||||||
|
projectslength=${#projects[@]}
|
||||||
|
|
||||||
|
show_help() {
|
||||||
|
echo "Usage: update-version.sh"
|
||||||
|
echo ""
|
||||||
|
echo "-vj or -versionjsapi to use a different version of js-api"
|
||||||
|
echo "-v or -version version to update"
|
||||||
|
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 "-nextalpha update next alpha version of js-api and lib automatically"
|
||||||
|
echo "-nextbeta update next beta version of js-api and lib automatically"
|
||||||
|
echo "-alpha update last alpha version of js-api and lib automatically"
|
||||||
|
echo "-beta update beta alpha version of js-api and lib automatically"
|
||||||
|
echo "-gnu for gnu"
|
||||||
|
}
|
||||||
|
|
||||||
|
last_alpha_mode() {
|
||||||
|
length=`expr $projectslength - 1`
|
||||||
|
echo "====== Auto find last ALPHA version of ${projects[${length}]} ====="
|
||||||
|
VERSION=$(npm view @alfresco/adf-${projects[${length}]}@alpha version)
|
||||||
|
|
||||||
|
echo "====== version lib ${VERSION} ====="
|
||||||
|
}
|
||||||
|
|
||||||
|
next_alpha_mode() {
|
||||||
|
# If we are creating a new alpha for a prerelease, we need to simply call it with -alpha
|
||||||
|
if [[ $VERSION_IN_PACKAGE_JSON =~ [0-9]*\.[0-9]*\.[0-9]*-.* ]]; then
|
||||||
|
SEMANTIC_PARAM="";
|
||||||
|
else
|
||||||
|
SEMANTIC_PARAM="-${SEMANTIC}";
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "====== Auto find next ALPHA version ===== ${SEMANTIC_PARAM} "
|
||||||
|
VERSION=$(./next_version.sh ${SEMANTIC_PARAM} -alpha)
|
||||||
|
|
||||||
|
echo "====== version lib ${VERSION} ====="
|
||||||
|
JS_API=false
|
||||||
|
}
|
||||||
|
|
||||||
|
next_beta_mode() {
|
||||||
|
echo "====== Auto find next BETA version ===== ${SEMANTIC}"
|
||||||
|
VERSION=$(./next_version.sh -${SEMANTIC} -beta)
|
||||||
|
|
||||||
|
echo "====== version lib ${VERSION} ====="
|
||||||
|
JS_API=false
|
||||||
|
}
|
||||||
|
|
||||||
|
last_beta_mode() {
|
||||||
|
echo "====== Auto find last BETA version ====="
|
||||||
|
VERSION=$(npm view @alfresco/adf-core@beta version)
|
||||||
|
|
||||||
|
echo "====== version lib ${VERSION} ====="
|
||||||
|
|
||||||
|
DIFFERENT_JS_API=true
|
||||||
|
VERSION_JS_API=$(npm view @alfresco/js-api@alpha version)
|
||||||
|
|
||||||
|
echo "====== version js-api ${DIFFERENT_JS_API} ====="
|
||||||
|
}
|
||||||
|
|
||||||
|
gnu_mode() {
|
||||||
|
echo "====== GNU MODE ====="
|
||||||
|
GNU=true
|
||||||
|
}
|
||||||
|
|
||||||
|
semantic_set() {
|
||||||
|
echo "====== semantic MODE $1 ====="
|
||||||
|
SEMANTIC=$1
|
||||||
|
}
|
||||||
|
|
||||||
|
version_change() {
|
||||||
|
echo "====== New version $1 ====="
|
||||||
|
VERSION=$1
|
||||||
|
}
|
||||||
|
|
||||||
|
version_js_change() {
|
||||||
|
echo "====== Alfresco JS-API version $1 ====="
|
||||||
|
VERSION_JS_API=$1
|
||||||
|
DIFFERENT_JS_API=true
|
||||||
|
}
|
||||||
|
|
||||||
|
update_component_version() {
|
||||||
|
echo "====== UPDATE PACKAGE VERSION of ${PACKAGE} to ${VERSION} version in all the package.json ======"
|
||||||
|
DESTDIR="$DIR/../lib/${1}"
|
||||||
|
cd $DESTDIR
|
||||||
|
npm version --allow-same-version --no-git-tag-version --force ${VERSION}
|
||||||
|
cd -
|
||||||
|
}
|
||||||
|
|
||||||
|
update_component_dependency_version(){
|
||||||
|
DESTDIR="$DIR/../lib/${1}"
|
||||||
|
|
||||||
|
for (( j=0; j<${projectslength}; j++ ));
|
||||||
|
do
|
||||||
|
echo "====== UPDATE DEPENDENCY VERSION of .* to ~${VERSION} in ${1}======"
|
||||||
|
|
||||||
|
sed "${sedi[@]}" "s/\"${prefix}${projects[$j]}\": \".*\"/\"${prefix}${projects[$j]}\": \"${VERSION}\"/g" ${DESTDIR}/package.json
|
||||||
|
sed "${sedi[@]}" "s/\"${prefix}${projects[$j]}\": \"~.*\"/\"${prefix}${projects[$j]}\": \"~${VERSION}\"/g" ${DESTDIR}/package.json
|
||||||
|
sed "${sedi[@]}" "s/\"${prefix}${projects[$j]}\": \"^.*\"/\"${prefix}${projects[$j]}\": \"^${VERSION}\"/g" ${DESTDIR}/package.json
|
||||||
|
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
update_total_build_dependency_version(){
|
||||||
|
DESTDIR="$DIR/../"
|
||||||
|
|
||||||
|
for (( j=0; j<${projectslength}; j++ ));
|
||||||
|
do
|
||||||
|
echo "====== UPDATE TOTAL BUILD DEPENDENCY VERSION of .* to ~${VERSION} in ${1}======"
|
||||||
|
sed "${sedi[@]}" "s/\"${prefix}${projects[$j]}\": \".*\"/\"${prefix}${projects[$j]}\": \"${VERSION}\"/g" ${DESTDIR}/package.json
|
||||||
|
sed "${sedi[@]}" "s/\"${prefix}${projects[$j]}\": \"~.*\"/\"${prefix}${projects[$j]}\": \"~${VERSION}\"/g" ${DESTDIR}/package.json
|
||||||
|
sed "${sedi[@]}" "s/\"${prefix}${projects[$j]}\": \"^.*\"/\"${prefix}${projects[$j]}\": \"^${VERSION}\"/g" ${DESTDIR}/package.json
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
update_total_build_dependency_js_version(){
|
||||||
|
echo "====== UPDATE DEPENDENCY VERSION @alfresco/js-api total build to ~${1} in ${DESTDIR}======"
|
||||||
|
DESTDIR="$DIR/../"
|
||||||
|
PACKAGETOCHANGE="@alfresco\/js-api"
|
||||||
|
|
||||||
|
sed "${sedi[@]}" "s/\"${PACKAGETOCHANGE}\": \".*\"/\"${PACKAGETOCHANGE}\": \"${1}\"/g" ${DESTDIR}/package.json
|
||||||
|
sed "${sedi[@]}" "s/\"${PACKAGETOCHANGE}\": \"~.*\"/\"${PACKAGETOCHANGE}\": \"${1}\"/g" ${DESTDIR}/package.json
|
||||||
|
sed "${sedi[@]}" "s/\"${PACKAGETOCHANGE}\": \"^.*\"/\"${PACKAGETOCHANGE}\": \"${1}\"/g" ${DESTDIR}/package.json
|
||||||
|
}
|
||||||
|
|
||||||
|
update_component_js_version(){
|
||||||
|
echo "====== UPDATE DEPENDENCY VERSION of @alfresco/js-api in ${1} to ${2} ======"
|
||||||
|
DESTDIR="$DIR/../lib/${1}"
|
||||||
|
|
||||||
|
PACKAGETOCHANGE="@alfresco\/js-api"
|
||||||
|
|
||||||
|
sed "${sedi[@]}" "s/\"${PACKAGETOCHANGE}\": \".*\"/\"${PACKAGETOCHANGE}\": \"${2}\"/g" ${DESTDIR}/package.json
|
||||||
|
sed "${sedi[@]}" "s/\"${PACKAGETOCHANGE}\": \"~.*\"/\"${PACKAGETOCHANGE}\": \"${2}\"/g" ${DESTDIR}/package.json
|
||||||
|
sed "${sedi[@]}" "s/\"${PACKAGETOCHANGE}\": \"^.*\"/\"${PACKAGETOCHANGE}\": \"${2}\"/g" ${DESTDIR}/package.json
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
args=("$@")
|
||||||
|
|
||||||
|
while [[ $1 == -* ]]; do
|
||||||
|
case "$1" in
|
||||||
|
-major) semantic_set "major"; shift;;
|
||||||
|
-minor) semantic_set "minor"; shift;;
|
||||||
|
-patch) semantic_set "patch"; shift;;
|
||||||
|
-*) shift;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
set -- "${args[@]}"
|
||||||
|
|
||||||
|
while [[ $1 == -* ]]; do
|
||||||
|
case "$1" in
|
||||||
|
-h|--help|-\?) show_help; exit 0;;
|
||||||
|
-v|version) version_change $2; shift 2;;
|
||||||
|
-sj|sjsapi) skip_js; shift;;
|
||||||
|
-vj|versionjsapi) version_js_change $2; shift 2;;
|
||||||
|
-gnu) gnu_mode; shift;;
|
||||||
|
-alpha) last_alpha_mode; shift;;
|
||||||
|
-nextalpha) next_alpha_mode; shift;;
|
||||||
|
-beta) last_beta_mode; shift;;
|
||||||
|
-nextbeta) next_beta_mode; shift;;
|
||||||
|
-*) shift;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if $GNU; then
|
||||||
|
sedi='-i'
|
||||||
|
else
|
||||||
|
sedi=('-i' '')
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${VERSION}" == "" ]]
|
||||||
|
then
|
||||||
|
echo "Version number required"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$DIR/../"
|
||||||
|
|
||||||
|
echo "====== UPDATE COMPONENTS ======"
|
||||||
|
|
||||||
|
# use for loop to read all values and indexes
|
||||||
|
for (( i=0; i<${projectslength}; i++ ));
|
||||||
|
do
|
||||||
|
echo "====== UPDATE COMPONENT ${projects[$i]} ======"
|
||||||
|
update_component_version ${projects[$i]}
|
||||||
|
update_component_dependency_version ${projects[$i]}
|
||||||
|
|
||||||
|
if $JS_API == true; then
|
||||||
|
|
||||||
|
if $DIFFERENT_JS_API == true; then
|
||||||
|
update_component_js_version ${projects[$i]} ${VERSION_JS_API}
|
||||||
|
else
|
||||||
|
update_component_js_version ${projects[$i]} ${VERSION}
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
update_total_build_dependency_version
|
||||||
|
|
||||||
|
if $JS_API == true; then
|
||||||
|
if $DIFFERENT_JS_API == true; then
|
||||||
|
update_total_build_dependency_js_version ${VERSION_JS_API}
|
||||||
|
else
|
||||||
|
update_total_build_dependency_js_version ${VERSION}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "====== UPDATE DEMO SHELL ======"
|
||||||
|
|
||||||
|
DESTDIR="$DIR/../demo-shell/"
|
||||||
|
npm version --allow-same-version --no-git-tag-version --force ${VERSION}
|
||||||
|
|
||||||
|
cd $DESTDIR
|
||||||
|
npm version --allow-same-version --no-git-tag-version --force ${VERSION}
|
||||||
|
cd -
|
Reference in New Issue
Block a user