Denys Vuika cd2b489100
[ADF-5146] Upgrade to Angular 10 (#5834)
* remove useless module

* upgrade to angular 8

* upgrade material to v8

* upgrade adf libs

* migrate demo shell to v8

* upgrade to angular 9

* upgrade material to v9

* remove hammer

* upgrade nx

* upgrade datetime picker

* upgrade flex layout

* update core api

* remove entry components

* code fixes

* upgrade testbed usage

* code fixes

* remove unnecessary core-js from tests

* upgrade CLI

* ts config fixes

* fix builds

* fix testing config

* compile fixes

* fix demo shell dev setup

* fix core tests

* fix card view import

* upgrade nx

* disable smart builds for now

* remove fdescribe

* restore smart builds

* fix issues

* unify tsconfigs and fix newly found issues

* fix configuration and cleanup package scripts

* improved production build from the same config

* use ADF libs directly instead of node_modules

* disable smart build

* single app configuration (angular)

* fix core build

* fix build scripts

* lint fixes

* fix linting setup

* fix linting rules

* various fixes

* disable affected libs for unit tests

* cleanup insights package.json

* simplify smart-build

* fix content tests

* fix tests

* test fixes

* fix tests

* fix test

* fix tests

* disable AppExtensionsModule (monaco example)

* remove monaco extension module

* upgrade bundle check rules

* fix insights tests and karma config

* fix protractor config

* e2e workaround

* upgrade puppeteer and split linting and build

* reusable resources config

* update protractor config

* fix after rebase

* fix protractor config

* fix e2e tsconfig

* update e2e setup

* Save demoshell artifact on S3 and remove travis cache

* Push the libs on S3 and fetch before releasing it

* Add deps

* Add dependencies among libs and run only affected unit test and build

* fix the travis stage name

* fix after renaming dev to demoshell

* force the order of the projects

* remove unused dependencies

* fix content e2e script

* exit codes fix

* add extra exit codes to core e2e

* postinstall hook and package cleanup

* cleanup packages

* remove deprecated code and dependency on router

* improve bundle analyzer script

* minor code fixes

* update spec

* fix code after rebase

* upgrade protractor after rebase

* fix e2e mapping lib

* Update tsconfig.e2e.json

* update e2e tsconfig

* fix angular config

* fix protractor runs

* cache dist folder for libs

* update material selectors for dropdowns

* selector fixes

* remove duplicated e2e that have unit tests already

* fix login selector

* fix e2e

* fix test

* fix import issues

* fix selector

* cleanup old monaco extension files

* cleanup demo shell login

* add protractor max retries

* disable customisations of protractor

* fix login validation

* fix after rebase

* fix after rebase, disable latest versions of libs

* Hide the report tab and rollback the localstorage

* rename protractor config back to js

* restore lint as part of build

* cleanup code

* do not copy anything to node_modules on dist test

* fix unit tests

* config fixes

* fix code

* fix code after rebase

* fix tests

* remove existing words from spellcheck

* remove useless directive decorators

* update package.json after rebase

* add js-api back

* code fixes

* add missing export

* update configs

* fix code

* try fix the sso login test

* fix

* remove puppeteer unit

* fix e2e script

* fix

* make provider easy

* fix routes module before upgrade

* fix unit tests

* upgrade angular cli

* upgrade to angular 10

Co-authored-by: maurizio vitale <maurizio.vitale@alfresco.com>
Co-authored-by: Eugenio Romano <eugenio.romano@alfresco.com>
Co-authored-by: Eugenio Romano <eromano@users.noreply.github.com>
2020-07-03 13:01:05 +01:00

200 lines
4.8 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 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"
"@alfresco/process-service-cloud"
"@alfresco/extensions" )
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 build or start 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/.."
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_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
fi
if $EXEC_VERSION_JSAPI == true; then
echo "====== Use the alfresco JS-API '$JSAPI_VERSION'====="
npm install alfresco-js-api@${JSAPI_VERSION}
fi
if [ -f "./.env" ]; then
export $(cat .env | xargs)
fi
if $EXEC_START == true; then
if $EXEC_DIST == true; then
echo "====== Start Demo shell dist mode ====="
npm run start:prod
else
echo "====== Start Demo shell ====="
npm run start
fi
else
if $EXEC_DEVELOP == true; then
echo "====== Build Demo shell dev mode ====="
npm run build
else
echo "====== Build Demo shell ====="
npm run build:prod
fi
fi