Eugenio Romano 72704cad57 [ADF-570] Script for Pushing to Registry (#1875)
* change prepublish to build only
add .npmrc in the gitignore and npmignore
clean .npmrc during the clean task
change registry during publish with npmrc file
add rimraf install in npm publish

* add option to link an alfresco-js-api from github

* npm build on develop branch will use the alfresco-js-api from develop

* modify script after review
add -gitjsapi to starts.sh to change jsapi pointing
add -vjsapi to starts.sh to change jsapi pointing

* start dist demo shell script option
2017-05-25 15:12:50 +01:00

215 lines
5.2 KiB
Bash
Executable File

#!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
eval EXEC_INSTALL=false
eval EXEC_UPDATE=false
eval EXEC_CLEAN=false
eval EXEC_DEVELOP=false
eval EXEC_VERSION=false
eval ENABLE_DIST=false
eval EXEC_GIT_NPM_INSTALL_JSAPI=false
eval EXEC_VERSION_JSAPI=false
eval JSAPI_VERSION=""
eval NG2_COMPONENTS_VERSION=""
eval GIT_ISH=""
eval projects=( "ng2-alfresco-core"
"ng2-alfresco-datatable"
"ng2-activiti-diagrams"
"ng2-activiti-analytics"
"ng2-activiti-form"
"ng2-activiti-tasklist"
"ng2-activiti-processlist"
"ng2-alfresco-documentlist"
"ng2-alfresco-login"
"ng2-alfresco-search"
"ng2-alfresco-social"
"ng2-alfresco-tag"
"ng2-alfresco-social"
"ng2-alfresco-upload"
"ng2-alfresco-viewer"
"ng2-alfresco-webscript"
"ng2-alfresco-userinfo" )
show_help() {
echo "Usage: start.sh"
echo ""
echo "-d or -develop start the demo shell using the relative ng2-components folder to link the components"
echo "-dist start the demo shell in dist mode"
echo "-i or -install start the demo shell and install the dependencies"
echo "-u or -update start the demo shell and update the dependencies"
echo "-v or -version install different version of ng2_components from npm defined in the package.json this option is not compatible with -d"
echo "-c or -clean clean the demo shell and reinstall the dependencies"
echo "-r or -registry to download the packages from an alternative npm registry example -registry 'http://npm.local.me:8080/' "
echo "-gitjsapi to build all the components against a commit-ish version of the JS-API"
echo "-vjsapi install different version from npm of JS-API defined in the package.json"
}
install() {
EXEC_INSTALL=true
}
update() {
EXEC_UPDATE=true
}
develop() {
EXEC_DEVELOP=true
}
enable_dist() {
ENABLE_DIST=true
}
enable_js_api_git_link() {
GIT_ISH='git://github.com/Alfresco/alfresco-js-api.git#'$1
EXEC_GIT_NPM_INSTALL_JSAPI=true
}
version_component() {
NG2_COMPONENTS_VERSION=$1
if [[ "${NG2_COMPONENTS_VERSION}" == "" ]]
then
echo "NG2 components version required with -v | -version"
exit 0
fi
EXEC_VERSION=true
}
version_js_api() {
JSAPI_VERSION=$1
if [[ "${JSAPI_VERSION}" == "" ]]
then
echo "JSAPI version required with -vJSApi"
exit 0
fi
EXEC_VERSION_JSAPI=true
}
change_registry(){
NPM_REGISTRY=$1
if [[ "${NPM_REGISTRY}" == "" ]]
then
echo "NPM registry required WITH OPTION -r | -registry"
exit 0
fi
echo "====== CHANGE REGISTRY: ${NPM_REGISTRY} ====="
npm config set registry ${NPM_REGISTRY}
}
clean() {
EXEC_CLEAN=true
EXEC_INSTALL=true
}
while [[ $1 == -* ]]; do
case "$1" in
-h|--help|-\?) show_help; exit 0;;
-i|--install) install; shift;;
-u|--update) update; shift;;
-c|--clean) clean; shift;;
-d|--develop) develop; shift;;
-r|--registry) change_registry $2; shift 2;;
-r|--version) version_component $2; shift 2;;
-dist) enable_dist; shift;;
-gitjsapi) enable_js_api_git_link $2; shift 2;;
-vjsapi) version_js_api $2; shift 2;;
-*) shift;;
esac
done
if $EXEC_CLEAN == true; then
echo "====== Clean Demo shell ====="
cd "$DIR/../demo-shell-ng2"
npm install rimraf
npm run clean
fi
if $EXEC_DEVELOP == true; then
echo "====== Build ng2-components folder====="
cd "$DIR/../scripts"
sh npm-build-all.sh
fi
if $EXEC_INSTALL == true; then
echo "====== Install Demo shell ====="
cd "$DIR/../demo-shell-ng2"
npm install
fi
if $EXEC_INSTALL == true; then
echo "====== Install Demo shell ====="
cd "$DIR/../demo-shell-ng2"
npm install
fi
if $EXEC_VERSION == true; then
echo "====== Install version "${NG2_COMPONENTS_VERSION}" of ng2-components ====="
cd "$DIR/../demo-shell-ng2"
if [[ "${EXEC_DEVELOP}" == "" ]]
then
echo "Option -v is not compatible with -d see the help"
exit 0
fi
for PACKAGE in ${projects[@]}
do
npm install ${PACKAGE}@${NG2_COMPONENTS_VERSION}
done
fi
if $EXEC_GIT_NPM_INSTALL_JSAPI == true; then
echo "====== Use the alfresco JS-API '$GIT_ISH'====="
npm install $GIT_ISH
cd "$DIR/../ng2-components/node_modules/alfresco-js-api"
npm install
cd "$DIR/../ng2-components/"
fi
if $EXEC_GIT_NPM_INSTALL_JSAPI == true; then
echo "====== Use the alfresco JS-API '$GIT_ISH'====="
npm install $GIT_ISH
cd "$DIR/../ng2-components/node_modules/alfresco-js-api"
npm install
fi
if $EXEC_VERSION_JSAPI == true; then
echo "====== Use the alfresco JS-API '$JSAPI_VERSION'====="
cd "$DIR/../demo-shell-ng2"
npm install alfresco-js-api@${JSAPI_VERSION}
fi
if $EXEC_DEVELOP == true; then
cd "$DIR/../demo-shell-ng2"
if $ENABLE_DIST == true; then
echo "====== Build and start dist Demo shell ====="
npm run build:dev
npm run start:dist
else
echo "====== Start Demo shell ====="
npm run start:dev
fi
else
cd "$DIR/../demo-shell-ng2"
if $ENABLE_DIST == true; then
echo "====== Build and start dist Demo shell ====="
npm run build
npm run start:dist
else
echo "====== Start Demo shell dev mode====="
npm run start
fi
fi