diff --git a/scripts/update-version.sh b/scripts/update-version.sh index e1903bb254..bb87ab6881 100755 --- a/scripts/update-version.sh +++ b/scripts/update-version.sh @@ -2,6 +2,7 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" eval JS_API=true +eval GNU=false eval projects=( "ng2-alfresco-core" "ng2-alfresco-datatable" @@ -28,6 +29,7 @@ show_help() { echo "" echo "-sj or -sjsapi don't update js-api version" echo "-v or -version version to update" + echo "-gnu for gnu" } skip_js() { @@ -35,6 +37,11 @@ skip_js() { JS_API=false } +gnu_mode() { + echo "====== GNU MODE =====" + GNU=true +} + version_change() { echo "====== New version $1 =====" VERSION=$1 @@ -44,55 +51,56 @@ version_change() { update_component_version() { echo "====== UPDATE PACKAGE VERSION of ${PACKAGE} to ${VERSION} version in all the package.json ======" DESTDIR="$DIR/../ng2-components/${1}" - sed -i '' "s/\"version\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"version\": \"${VERSION}\"/g" ${DESTDIR}/package.json + sed "${sedi[@]}" "s/\"version\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"version\": \"${VERSION}\"/g" ${DESTDIR}/package.json } update_component_dependency_version(){ - echo "====== UPDATE DEPENDENCY VERSION of ${1} to ${VERSION} in ${1}======" DESTDIR="$DIR/../ng2-components/${1}" - for PACKAGETOCHANGE in ${projects[@]} - do - sed -i '' "s/\"${PACKAGETOCHANGE}\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"${VERSION}\"/g" ${DESTDIR}/package.json + for (( j=0; j<${projectslength}; j++ )); + do + echo "====== UPDATE DEPENDENCY VERSION of ${projects[$j]} to ~${VERSION} in ${1}======" - echo "====== UPDATE DEPENDENCY VERSION of ${1} to ~${VERSION} in ${1}======" - sed -i '' "s/\"${PACKAGETOCHANGE}\": \"~[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"~${VERSION}\"/g" ${DESTDIR}/package.json + sed "${sedi[@]}" "s/\"${projects[$j]}\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"${projects[$j]}\": \"${VERSION}\"/g" ${DESTDIR}/package.json + sed "${sedi[@]}" "s/\"${projects[$j]}\": \"~[0-9]\\.[0-9]\\.[0-9]\"/\"${projects[$j]}\": \"~${VERSION}\"/g" ${DESTDIR}/package.json - echo "====== UPDATE DEPENDENCY VERSION of ${1} to ${VERSION} in ${1} DEMO ======" - sed -i '' "s/\"${PACKAGETOCHANGE}\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"${VERSION}\"/g" ${DESTDIR}/demo/package.json + if [[ "${1}" != "ng2-alfresco-core" ]] + then + echo "====== UPDATE DEPENDENCY VERSION of ${projects[$j]} to ~${VERSION} in ${1} DEMO ======" + sed "${sedi[@]}" "s/\"${projects[$j]}\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"${projects[$j]}\": \"${VERSION}\"/g" ${DESTDIR}/demo/package.json + sed "${sedi[@]}" "s/\"${projects[$j]}\": \"~[0-9]\\.[0-9]\\.[0-9]\"/\"${projects[$j]}\": \"~${VERSION}\"/g" ${DESTDIR}/demo/package.json + fi - echo "====== UPDATE DEPENDENCY VERSION of ${1} to ~${VERSION} in ${1} DEMO ======" - sed -i '' "s/\"${PACKAGETOCHANGE}\": \"~[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"~${VERSION}\"/g" ${DESTDIR}/demo/package.json - done + done } update_component_js_version(){ - echo "====== UPDATE DEPENDENCY VERSION of alfresco-js-api in ${1} to ${VERSION} in ${1}======" + echo "====== UPDATE DEPENDENCY VERSION of alfresco-js-api in ${1} to ${VERSION} ======" DESTDIR="$DIR/../ng2-components/${1}" PACKAGETOCHANGE="alfresco-js-api" - sed -i '' "s/\"${PACKAGETOCHANGE}\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"${VERSION}\"/g" ${DESTDIR}/package.json - echo "====== UPDATE DEPENDENCY VERSION of ${1} to ~${VERSION} in ${1}======" - sed -i '' "s/\"${PACKAGETOCHANGE}\": \"~[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"~${VERSION}\"/g" ${DESTDIR}/package.json + echo "====== UPDATE DEPENDENCY VERSION of alfresco-js-api to ~${VERSION} in ${1}======" - echo "====== UPDATE DEPENDENCY VERSION of ${1} to ${VERSION} in ${1} DEMO ======" - sed -i '' "s/\"${PACKAGETOCHANGE}\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"${VERSION}\"/g" ${DESTDIR}/demo/package.json + sed "${sedi[@]}" "s/\"${PACKAGETOCHANGE}\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"${VERSION}\"/g" ${DESTDIR}/package.json + sed "${sedi[@]}" "s/\"${PACKAGETOCHANGE}\": \"~[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"~${VERSION}\"/g" ${DESTDIR}/package.json - echo "====== UPDATE DEPENDENCY VERSION of ${1} to ~${VERSION} in ${1} DEMO ======" - sed -i '' "s/\"${PACKAGETOCHANGE}\": \"~[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"~${VERSION}\"/g" ${DESTDIR}/demo/package.json + echo "====== UPDATE DEPENDENCY VERSION of alfresco-js-api to ${VERSION} in ${1} DEMO ======" + + sed "${sedi[@]}" "s/\"${PACKAGETOCHANGE}\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"${VERSION}\"/g" ${DESTDIR}/demo/package.json + sed "${sedi[@]}" "s/\"${PACKAGETOCHANGE}\": \"~[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"~${VERSION}\"/g" ${DESTDIR}/demo/package.json } update_demo_shell_dependency_version(){ - for PACKAGETOCHANGE in ${projects[@]} - do - echo "====== UPDATE VERSION OF DEMO-SHELL to ${PACKAGETOCHANGE} version ${VERSION} ======" + for (( k=0; j<${projectslength}; k++ )); + do + echo "====== UPDATE VERSION OF DEMO-SHELL to ${projects[$k]} version ${VERSION} ======" DESTDIR="$DIR/../demo-shell-ng2/" - sed -i '' "s/\"${PACKAGETOCHANGE}\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"${VERSION}\"/g" ${DESTDIR}/package.json + sed "${sedi[@]}" "s/\"${projects[$k]}\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"${projects[$k]}\": \"${VERSION}\"/g" ${DESTDIR}/package.json echo "====== UPDATE DEPENDENCY VERSION of ${1} to ~${VERSION} in ${DESTDIR}======" - sed -i '' "s/\"${PACKAGETOCHANGE}\": \"~[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"~${VERSION}\"/g" ${DESTDIR}/package.json + sed "${sedi[@]}" "s/\"${projects[$k]}\": \"~[0-9]\\.[0-9]\\.[0-9]\"/\"${projects[$k]}\": \"~${VERSION}\"/g" ${DESTDIR}/package.json done } @@ -101,10 +109,10 @@ update_demo_shell_js_version(){ DESTDIR="$DIR/../demo-shell-ng2/" PACKAGETOCHANGE="alfresco-js-api" - sed -i '' "s/\"${PACKAGETOCHANGE}\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"${VERSION}\"/g" ${DESTDIR}/package.json + sed "${sedi[@]}" "s/\"${PACKAGETOCHANGE}\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"${VERSION}\"/g" ${DESTDIR}/package.json echo "====== UPDATE DEPENDENCY VERSION of ${1} to ~${VERSION} in ${DESTDIR}======" - sed -i '' "s/\"${PACKAGETOCHANGE}\": \"~[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"~${VERSION}\"/g" ${DESTDIR}/package.json + sed "${sedi[@]}" "s/\"${PACKAGETOCHANGE}\": \"~[0-9]\\.[0-9]\\.[0-9]\"/\"${PACKAGETOCHANGE}\": \"~${VERSION}\"/g" ${DESTDIR}/package.json } @@ -113,10 +121,16 @@ while [[ $1 == -* ]]; do -h|--help|-\?) show_help; exit 0;; -v|version) version_change $2; shift 2;; -sj|sjsapi) skip_js; shift;; + -gnu) gnu_mode; shift;; -*) shift;; esac done +if $GNU; then + sedi='-i' +else + sedi=('-i' '') +fi if [[ "${VERSION}" == "" ]] then @@ -128,13 +142,17 @@ cd "$DIR/../" echo "====== UPDATE COMPONENTS ======" -for PACKAGE in ${projects[@]} +projectslength=${#projects[@]} + +# use for loop to read all values and indexes +for (( i=0; i<${projectslength}; i++ )); do - update_component_version $PACKAGE - update_component_dependency_version $PACKAGE + echo "====== UPDATE COMPONENT ${projects[$i]} ======" + update_component_version ${projects[$i]} + update_component_dependency_version ${projects[$i]} if $JS_API == true; then - update_component_js_version $PACKAGE + update_component_js_version ${projects[$i]} fi done @@ -147,4 +165,4 @@ if $JS_API == true; then fi DESTDIR="$DIR/../demo-shell-ng2/" -sed -i '' "s/\"version\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"version\": \"${VERSION}\"/g" ${DIR}/../demo-shell-ng2/package.json +sed "${sedi[@]}" "s/\"version\": \"[0-9]\\.[0-9]\\.[0-9]\"/\"version\": \"${VERSION}\"/g" ${DIR}/../demo-shell-ng2/package.json