Eugenio Romano ae489f6737
[ADF-2240] fix e2e and test in demo shell (#3035)
* fix e2e and test in demo shell

* test single run demo shell conf

* fix script e2e

* fix test lint problems

* remove async from nested test

* fix pdf test

* modify url load pdf strategy test

* SimpleChange import

* pdf viewer test fix

* remove force closing

* refactor pdf viewer
-remove promise approach
-add event rendered
-add destroy worker

* increment timeout

* use proxy files

* remove require

* fix viewer component test

* remove last require

* prefer use of done for txt viewer test
2018-03-09 12:16:05 +00:00

227 lines
5.5 KiB
Bash
Executable File

#!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
eval EXEC_INSTALL=true
eval EXEC_UPDATE=false
eval EXEC_CLEAN=false
eval EXEC_DEVELOP=false
eval EXEC_VERSION=false
eval EXEC_DIST=false
eval EXEC_GIT_NPM_INSTALL_JSAPI=false
eval EXEC_VERSION_JSAPI=false
eval EXEC_START=true
eval EXEC_TEST=false
eval EXEC_E2E=false
eval JSAPI_VERSION=""
eval NG2_COMPONENTS_VERSION=""
eval GIT_ISH=""
eval projects=( "@alfresco/core"
"@alfresco/content-service"
"@alfresco/process-service" )
show_help() {
echo "Usage: start.sh"
echo ""
echo "-ss or -skipstart build only the demo shell without start"
echo "-si or -skipinstall start the demo shell and skip the install the dependencies"
echo "-dev or -develop start the demo shell using the relative lib folder to link the components"
echo "-dist create the disbuild the demo shell in dist mode"
echo "-t or -test execute test"
echo "--e2e execute e2e test"
echo "-u or -update start the demo shell and update the dependencies"
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 "-v or -version install different version of ng2_components from npm defined in the package.json this option is not compatible with -d"
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=false
}
update() {
EXEC_UPDATE=true
}
develop() {
EXEC_DEVELOP=true
}
enable_dist() {
EXEC_DIST=true
}
disable_start() {
EXEC_START=false
}
enable_test() {
EXEC_TEST=true
}
enable_e2e() {
EXEC_E2E=true
}
enable_js_api_git_link() {
GIT_ISH='git+https://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;;
-u|--update) update; shift;;
-c|--clean) clean; shift;;
-t|--test) enable_test; shift;;
--e2e) enable_e2e; shift;;
-r|--registry) change_registry $2; shift 2;;
-v|--version) version_component $2; shift 2;;
-si|--skipinstall) install; shift;;
-ss|--skipstart) disable_start; shift;;
-dev|--develop) develop; shift;;
-dist) enable_dist; shift;;
-gitjsapi) enable_js_api_git_link $2; shift 2;;
-vjsapi) version_js_api $2; shift 2;;
-*) echo "invalid option: $1" 1>&2; show_help; exit 0;;
esac
done
cd "$DIR/../demo-shell"
if $EXEC_CLEAN == true; then
echo "====== Clean Demo shell ====="
npm install rimraf
npm run clean
fi
if $EXEC_INSTALL == true; then
echo "====== Install Demo shell ====="
npm install
fi
if $EXEC_DEVELOP == true; then
echo "====== Install node_modules components ====="
cd "$DIR/../lib"
npm install
cd "$DIR/../demo-shell"
fi
if $EXEC_VERSION == true; then
echo "====== Install version "${NG2_COMPONENTS_VERSION}" of components ====="
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 --no-save
cd "$DIR/../demo-shell/node_modules/alfresco-js-api"
npm install
if $EXEC_DEVELOP == true; then
cd "$DIR/../lib/"
npm install $GIT_ISH --no-save
cd "$DIR/../lib/node_modules/alfresco-js-api"
npm install
fi
cd "$DIR/../demo-shell"
fi
if $EXEC_VERSION_JSAPI == true; then
echo "====== Use the alfresco JS-API '$JSAPI_VERSION'====="
npm install alfresco-js-api@${JSAPI_VERSION}
if $EXEC_DEVELOP == true; then
echo "====== Install node_modules components ====="
cd "$DIR/../lib/"
npm install alfresco-js-api@${JSAPI_VERSION} --no-save
fi
cd "$DIR/../demo-shell"
fi
if $EXEC_TEST == true; then
echo "====== Demo shell Test ====="
npm install && npm run test
fi
if $EXEC_E2E == true; then
echo "====== Demo shell e2e ====="
npm run e2e
fi
if $EXEC_START == true; then
if $EXEC_DEVELOP == true; then
echo "====== Start Demo shell dev mode ====="
npm run start:dev
elif $EXEC_DIST == true; then
echo "====== Start Demo shell dist mode ====="
npm run start:dist
else
echo "====== Start Demo shell ====="
npm run start
fi
else
if $EXEC_DEVELOP == true; then
echo "====== Build Demo shell dev mode ====="
npm run build:dev
else
echo "====== Build Demo shell ====="
npm run build
fi
fi