2021-12-22 01:53:58 +01:00
|
|
|
#! /bin/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 &&
|
|
|
|
npm run test &&
|
2021-12-22 23:50:43 +01:00
|
|
|
npm run generate:layouts
|
|
|
|
|
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-01-18 18:12:24 +01:00
|
|
|
cp assets/*.png dist/assets/
|
|
|
|
cp assets/*.svg dist/assets/
|
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
|
|
|
|
|
2022-02-06 12:51:23 +01:00
|
|
|
if [ $BRANCH = "master" ]
|
|
|
|
then
|
|
|
|
PUBLIC_URL="./"
|
|
|
|
else
|
|
|
|
PUBLIC_URL="./mc/$BRANCH"
|
|
|
|
fi
|
|
|
|
|
2021-12-22 23:50:43 +01:00
|
|
|
echo -e "\n\n Building non-theme pages"
|
|
|
|
echo -e " ==========================\n\n"
|
2022-02-06 12:51:23 +01:00
|
|
|
parcel build --public-url "$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
|
|
|
|
|
|
|
for file in $(ls index_*.ts)
|
|
|
|
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
|
|
|
|
# At last: a workaround; parcel 1.x borks the link to social images; the public-URL (./) is setup incorrectly, so we fix those
|
|
|
|
cd dist
|
|
|
|
echo -e "Fixing social images..."
|
|
|
|
for file in $(ls *.html)
|
|
|
|
do
|
2022-01-18 20:31:45 +01:00
|
|
|
echo "Hi!"
|
2022-01-18 20:18:12 +01:00
|
|
|
# sed -i 's!<meta content="\([^"]\+\)" property="og:image">!<meta content="./\1" property="og:image">!' $file
|
|
|
|
# sed -i 's!<meta property="og:image" content="\([^"]\+\)">!<meta content="./\1" property="og:image">!' $file
|
2021-12-23 00:15:09 +01:00
|
|
|
done
|