mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-26 17:24:56 +00:00
* 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
98 lines
2.3 KiB
Bash
Executable File
98 lines
2.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
eval RUN_TEST=false
|
|
eval EXEC_CLEAN=false
|
|
eval EXEC_GIT_NPM_INSTALL_JSAPI=false
|
|
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: npm-build-all.sh"
|
|
echo ""
|
|
echo "-t or -test build all your local component and run also the test on them"
|
|
echo "-c or -clean the node_modules folder before to start the build"
|
|
echo "-gitjsapi to build all the components against a commit-ish version of the JS-API"
|
|
}
|
|
|
|
enable_test(){
|
|
RUN_TEST=true
|
|
}
|
|
|
|
test_project() {
|
|
echo "====== test project: $1 ====="
|
|
npm run test -- --component $1 || exit 1
|
|
}
|
|
|
|
enable_js_api_git_link() {
|
|
GIT_ISH='git://github.com/Alfresco/alfresco-js-api.git#'$1
|
|
EXEC_GIT_NPM_INSTALL_JSAPI=true
|
|
}
|
|
|
|
clean() {
|
|
EXEC_CLEAN=true
|
|
}
|
|
|
|
while [[ $1 == -* ]]; do
|
|
case "$1" in
|
|
-h|--help|-\?) show_help; exit 0;;
|
|
-t|--test) enable_test; shift;;
|
|
-gitjsapi) enable_js_api_git_link $2; shift 2;;
|
|
-v|--version) install_version_pacakge $2; shift 2;;
|
|
-c|--clean) clean; shift;;
|
|
-*) echo "invalid option: $1" 1>&2; show_help; exit 1;;
|
|
esac
|
|
done
|
|
|
|
cd "$DIR/../ng2-components/"
|
|
|
|
if $EXEC_CLEAN == true; then
|
|
echo "====== Clean ng2-components ====="
|
|
npm install rimraf
|
|
npm run clean
|
|
fi
|
|
|
|
echo "====== Regenerate global ng2-components package.json ====="
|
|
npm install package-json-merge
|
|
npm run pkg-build
|
|
|
|
echo "====== Install ng2-components dependencies ====="
|
|
npm install
|
|
|
|
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
|
|
|
|
echo "====== Build ng2-components ====="
|
|
npm run build || exit 1
|
|
|
|
for PACKAGE in ${projects[@]}
|
|
do
|
|
DESTDIR="$DIR/../ng2-components/"
|
|
cd $DESTDIR
|
|
if $RUN_TEST == true; then
|
|
test_project $PACKAGE
|
|
fi
|
|
done
|