2022-06-28 02:02:21 +02:00
#! /usr/bin/env bash
2022-01-08 19:15:56 +01:00
echo "Starting build"
2021-12-22 01:53:58 +01:00
# The build script; we build the application step by step as building everything at once takes too much RAM
# Should be run from the repository root
2022-01-08 19:15:56 +01:00
# This is the main deployment script
2021-12-22 01:53:58 +01:00
rm -rf dist/*
rm -rf .cache
mkdir dist 2> /dev/null
2021-12-22 02:10:02 +01:00
mkdir dist/assets 2> /dev/null
2021-12-22 01:53:58 +01:00
2022-01-08 22:11:24 +01:00
# This script ends every line with '&&' to chain everything. A failure will thus stop the build
2021-12-22 23:50:43 +01:00
npm run generate:editor-layer-index
2022-01-08 22:11:24 +01:00
npm run generate &&
2022-07-06 13:58:56 +02:00
ts-node ./scripts/generateLayeroverview --force && # generate:layeroverview has to be run twice: the personal theme won't pick up all the layers otherwise
2022-01-08 22:11:24 +01:00
npm run test &&
2022-02-23 16:51:32 +01:00
npm run generate:layouts
2021-12-22 23:50:43 +01:00
2022-01-11 10:55:17 +01:00
if [ $? -ne 0 ] ; then
2022-01-18 18:12:24 +01:00
echo "ERROR - stopping the build"
2022-01-08 22:11:24 +01:00
exit 1
fi
2022-01-08 19:15:56 +01:00
2021-12-22 01:53:58 +01:00
# Copy the layer files, as these might contain assets (e.g. svgs)
cp -r assets/layers/ dist/assets/layers/
cp -r assets/themes/ dist/assets/themes/
cp -r assets/svg/ dist/assets/svg/
2022-06-20 10:59:23 +02:00
cp -r assets/tagRenderings/ dist/assets/tagRenderings/
2022-01-18 18:12:24 +01:00
cp assets/*.png dist/assets/
cp assets/*.svg dist/assets/
2022-02-14 22:48:07 +01:00
cp assets/generated/*.png dist/assets/generated/
cp assets/generated/*.svg dist/assets/generated/
2022-01-14 02:24:04 +01:00
2022-01-14 02:34:43 +01:00
SRC_MAPS = "--no-source-maps"
BRANCH = ` git rev-parse --abbrev-ref HEAD`
2022-01-14 02:24:04 +01:00
echo " The branch name is $BRANCH "
2022-01-14 02:34:43 +01:00
if [ $BRANCH = "develop" ]
2022-01-14 02:24:04 +01:00
then
SRC_MAPS = ""
echo "Source maps are enabled"
fi
2021-12-22 23:50:43 +01:00
echo -e "\n\n Building non-theme pages"
echo -e " ==========================\n\n"
2022-02-06 18:22:01 +01:00
parcel build --public-url "./" $SRC_MAPS "index.html" "404.html" "professional.html" "automaton.html" "import_helper.html" "import_viewer.html" "land.html" "customGenerator.html" "theme.html" vendor
2022-02-06 12:31:58 +01:00
if [ $? -ne 0 ] ; then
echo "ERROR - stopping the build"
exit 1
fi
2021-12-22 23:50:43 +01:00
echo -e "\n\n Building theme pages"
echo -e " ======================\n\n"
2021-12-22 01:53:58 +01:00
2022-06-28 03:20:22 +02:00
for file in index_*.ts
2021-12-22 01:53:58 +01:00
do
theme = ${ file : 6 :- 3 }
2021-12-22 23:50:43 +01:00
echo -e " \n\n $theme "
echo -e " ------------ \n\n"
2021-12-22 01:53:58 +01:00
# Builds the necessary files for just one theme, e.g. 'bookcases.html' + 'index_bookcases.ts' + supporting file
2022-02-06 12:31:58 +01:00
parcel build --public-url './' $SRC_MAPS " $theme .html "
if [ $? -ne 0 ] ; then
echo "ERROR - stopping the build"
exit 1
fi
2021-12-23 14:37:17 +01:00
done