chore: refactor build script to allow to build individual packages
This commit is contained in:
parent
aa713d1dd9
commit
f8690caa98
158
build.sh
158
build.sh
@ -4,74 +4,97 @@ set -e -o pipefail
|
|||||||
|
|
||||||
cd `dirname $0`
|
cd `dirname $0`
|
||||||
|
|
||||||
|
PACKAGES=(core
|
||||||
|
compiler
|
||||||
|
common
|
||||||
|
forms
|
||||||
|
platform-browser
|
||||||
|
platform-browser-dynamic
|
||||||
|
platform-server
|
||||||
|
platform-webworker
|
||||||
|
platform-webworker-dynamic
|
||||||
|
http
|
||||||
|
router
|
||||||
|
upgrade
|
||||||
|
compiler-cli
|
||||||
|
benchpress)
|
||||||
|
BUILD_ALL=true
|
||||||
|
BUNDLE=true
|
||||||
|
|
||||||
|
for ARG in "$@"; do
|
||||||
|
case "$ARG" in
|
||||||
|
--packages=*)
|
||||||
|
PACKAGES_STR=${ARG#--packages=}
|
||||||
|
PACKAGES=( ${PACKAGES_STR//,/ } )
|
||||||
|
BUILD_ALL=false
|
||||||
|
;;
|
||||||
|
--bundle=*)
|
||||||
|
BUNDLE=( "${ARG#--bundle=}" )
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown option $ARG."
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
export NODE_PATH=${NODE_PATH}:$(pwd)/dist/all:$(pwd)/dist/tools
|
export NODE_PATH=${NODE_PATH}:$(pwd)/dist/all:$(pwd)/dist/tools
|
||||||
|
|
||||||
|
|
||||||
rm -rf ./dist/all/
|
|
||||||
mkdir -p ./dist/all/
|
|
||||||
|
|
||||||
TSCONFIG=./tools/tsconfig.json
|
|
||||||
echo "====== (all)COMPILING: \$(npm bin)/tsc -p ${TSCONFIG} ====="
|
|
||||||
$(npm bin)/tsc -p ${TSCONFIG}
|
|
||||||
cp ./tools/@angular/tsc-wrapped/package.json ./dist/tools/@angular/tsc-wrapped
|
|
||||||
|
|
||||||
echo "====== Copying files needed for e2e tests ====="
|
|
||||||
cp -r ./modules/playground ./dist/all/
|
|
||||||
cp -r ./modules/playground/favicon.ico ./dist/
|
|
||||||
#rsync -aP ./modules/playground/* ./dist/all/playground/
|
|
||||||
mkdir ./dist/all/playground/vendor
|
|
||||||
cd ./dist/all/playground/vendor
|
|
||||||
ln -s ../../../../node_modules/core-js/client/core.js .
|
|
||||||
ln -s ../../../../node_modules/zone.js/dist/zone.js .
|
|
||||||
ln -s ../../../../node_modules/zone.js/dist/long-stack-trace-zone.js .
|
|
||||||
ln -s ../../../../node_modules/systemjs/dist/system.src.js .
|
|
||||||
ln -s ../../../../node_modules/base64-js/lib/b64.js .
|
|
||||||
ln -s ../../../../node_modules/reflect-metadata/Reflect.js .
|
|
||||||
ln -s ../../../../node_modules/rxjs .
|
|
||||||
ln -s ../../../../node_modules/angular/angular.js .
|
|
||||||
cd -
|
|
||||||
|
|
||||||
echo "====== Copying files needed for benchmarks ====="
|
|
||||||
cp -r ./modules/benchmarks ./dist/all/
|
|
||||||
cp -r ./modules/benchmarks/favicon.ico ./dist/
|
|
||||||
mkdir ./dist/all/benchmarks/vendor
|
|
||||||
cd ./dist/all/benchmarks/vendor
|
|
||||||
ln -s ../../../../node_modules/core-js/client/core.js .
|
|
||||||
ln -s ../../../../node_modules/zone.js/dist/zone.js .
|
|
||||||
ln -s ../../../../node_modules/zone.js/dist/long-stack-trace-zone.js .
|
|
||||||
ln -s ../../../../node_modules/systemjs/dist/system.src.js .
|
|
||||||
ln -s ../../../../node_modules/base64-js/lib/b64.js .
|
|
||||||
ln -s ../../../../node_modules/reflect-metadata/Reflect.js .
|
|
||||||
ln -s ../../../../node_modules/rxjs .
|
|
||||||
ln -s ../../../../node_modules/angular/angular.js .
|
|
||||||
ln -s ../../../../bower_components/polymer .
|
|
||||||
ln -s ../../../../node_modules/incremental-dom/dist/incremental-dom-cjs.js
|
|
||||||
cd -
|
|
||||||
|
|
||||||
TSCONFIG=./modules/tsconfig.json
|
|
||||||
echo "====== (all)COMPILING: \$(npm bin)/tsc -p ${TSCONFIG} ====="
|
|
||||||
# compile ts code
|
|
||||||
TSC="node --max-old-space-size=3000 dist/tools/@angular/tsc-wrapped/src/main"
|
TSC="node --max-old-space-size=3000 dist/tools/@angular/tsc-wrapped/src/main"
|
||||||
UGLIFYJS=`pwd`/node_modules/.bin/uglifyjs
|
UGLIFYJS=`pwd`/node_modules/.bin/uglifyjs
|
||||||
$TSC -p modules/tsconfig.json
|
TSCONFIG=./tools/tsconfig.json
|
||||||
|
echo "====== (tools)COMPILING: \$(npm bin)/tsc -p ${TSCONFIG} ====="
|
||||||
|
rm -rf ./dist/tools/
|
||||||
|
mkdir -p ./dist/tools/
|
||||||
|
$(npm bin)/tsc -p ${TSCONFIG}
|
||||||
|
|
||||||
rm -rf ./dist/packages-dist
|
cp ./tools/@angular/tsc-wrapped/package.json ./dist/tools/@angular/tsc-wrapped
|
||||||
|
|
||||||
for PACKAGE in \
|
if [[ ${BUILD_ALL} == true ]]; then
|
||||||
core \
|
rm -rf ./dist/all/
|
||||||
compiler \
|
mkdir -p ./dist/all/
|
||||||
common \
|
|
||||||
forms \
|
echo "====== Copying files needed for e2e tests ====="
|
||||||
platform-browser \
|
cp -r ./modules/playground ./dist/all/
|
||||||
platform-browser-dynamic \
|
cp -r ./modules/playground/favicon.ico ./dist/
|
||||||
platform-server \
|
#rsync -aP ./modules/playground/* ./dist/all/playground/
|
||||||
platform-webworker \
|
mkdir ./dist/all/playground/vendor
|
||||||
platform-webworker-dynamic \
|
cd ./dist/all/playground/vendor
|
||||||
http \
|
ln -s ../../../../node_modules/core-js/client/core.js .
|
||||||
router \
|
ln -s ../../../../node_modules/zone.js/dist/zone.js .
|
||||||
upgrade \
|
ln -s ../../../../node_modules/zone.js/dist/long-stack-trace-zone.js .
|
||||||
compiler-cli \
|
ln -s ../../../../node_modules/systemjs/dist/system.src.js .
|
||||||
benchpress
|
ln -s ../../../../node_modules/base64-js/lib/b64.js .
|
||||||
|
ln -s ../../../../node_modules/reflect-metadata/Reflect.js .
|
||||||
|
ln -s ../../../../node_modules/rxjs .
|
||||||
|
ln -s ../../../../node_modules/angular/angular.js .
|
||||||
|
cd -
|
||||||
|
|
||||||
|
echo "====== Copying files needed for benchmarks ====="
|
||||||
|
cp -r ./modules/benchmarks ./dist/all/
|
||||||
|
cp -r ./modules/benchmarks/favicon.ico ./dist/
|
||||||
|
mkdir ./dist/all/benchmarks/vendor
|
||||||
|
cd ./dist/all/benchmarks/vendor
|
||||||
|
ln -s ../../../../node_modules/core-js/client/core.js .
|
||||||
|
ln -s ../../../../node_modules/zone.js/dist/zone.js .
|
||||||
|
ln -s ../../../../node_modules/zone.js/dist/long-stack-trace-zone.js .
|
||||||
|
ln -s ../../../../node_modules/systemjs/dist/system.src.js .
|
||||||
|
ln -s ../../../../node_modules/base64-js/lib/b64.js .
|
||||||
|
ln -s ../../../../node_modules/reflect-metadata/Reflect.js .
|
||||||
|
ln -s ../../../../node_modules/rxjs .
|
||||||
|
ln -s ../../../../node_modules/angular/angular.js .
|
||||||
|
ln -s ../../../../bower_components/polymer .
|
||||||
|
ln -s ../../../../node_modules/incremental-dom/dist/incremental-dom-cjs.js
|
||||||
|
cd -
|
||||||
|
|
||||||
|
TSCONFIG=./modules/tsconfig.json
|
||||||
|
echo "====== (all)COMPILING: \$(npm bin)/tsc -p ${TSCONFIG} ====="
|
||||||
|
# compile ts code
|
||||||
|
$TSC -p modules/tsconfig.json
|
||||||
|
|
||||||
|
rm -rf ./dist/packages-dist
|
||||||
|
fi
|
||||||
|
|
||||||
|
for PACKAGE in ${PACKAGES[@]}
|
||||||
do
|
do
|
||||||
PWD=`pwd`
|
PWD=`pwd`
|
||||||
SRCDIR=${PWD}/modules/@angular/${PACKAGE}
|
SRCDIR=${PWD}/modules/@angular/${PACKAGE}
|
||||||
@ -81,6 +104,8 @@ do
|
|||||||
UMD_ES5_MIN_PATH=${DESTDIR}/bundles/${PACKAGE}.umd.min.js
|
UMD_ES5_MIN_PATH=${DESTDIR}/bundles/${PACKAGE}.umd.min.js
|
||||||
LICENSE_BANNER=${PWD}/modules/@angular/license-banner.txt
|
LICENSE_BANNER=${PWD}/modules/@angular/license-banner.txt
|
||||||
|
|
||||||
|
rm -rf ${DESTDIR}
|
||||||
|
|
||||||
echo "====== COMPILING: ${TSC} -p ${SRCDIR}/tsconfig.json ====="
|
echo "====== COMPILING: ${TSC} -p ${SRCDIR}/tsconfig.json ====="
|
||||||
$TSC -p ${SRCDIR}/tsconfig-build.json
|
$TSC -p ${SRCDIR}/tsconfig-build.json
|
||||||
|
|
||||||
@ -103,7 +128,12 @@ do
|
|||||||
find ${DESTDIR} -type f -name '*.d.ts' -print0 | xargs -0 sed -i -E 's/^( +)abstract ([[:alnum:]]+\:)/\1\2/g'
|
find ${DESTDIR} -type f -name '*.d.ts' -print0 | xargs -0 sed -i -E 's/^( +)abstract ([[:alnum:]]+\:)/\1\2/g'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${PACKAGE} != compiler-cli && ${PACKAGE} != benchpress ]]; then
|
if [[ ${PACKAGE} == benchpress ]]; then
|
||||||
|
cp ${SRCDIR}/*.md ${DESTDIR}
|
||||||
|
cp -r ${SRCDIR}/docs ${DESTDIR}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${BUNDLE} == true && ${PACKAGE} != compiler-cli && ${PACKAGE} != benchpress ]]; then
|
||||||
|
|
||||||
echo "====== BUNDLING: ${SRCDIR} ====="
|
echo "====== BUNDLING: ${SRCDIR} ====="
|
||||||
mkdir ${DESTDIR}/bundles
|
mkdir ${DESTDIR}/bundles
|
||||||
|
Loading…
x
Reference in New Issue
Block a user