qortal-ui/build.sh

80 lines
1.5 KiB
Bash
Raw Permalink Normal View History

2021-12-25 14:39:47 +01:00
#!/usr/bin/env bash
SHOW_HELP=0
2023-05-11 18:40:52 +02:00
NPM_WATCH=0
2021-12-25 14:39:47 +01:00
RUN_SERVER=0
RUN_ELECTRON=0
while [ -n "$*" ]; do
case $1 in
-h)
# Show help
SHOW_HELP=1
;;
-w)
2023-05-11 18:40:52 +02:00
# Use "npm run watch" instead of "npm run build", to enable hot swapping
NPM_WATCH=1
2021-12-25 14:39:47 +01:00
;;
2023-05-11 18:40:52 +02:00
-s)
2021-12-25 14:39:47 +01:00
# Run server after building
RUN_SERVER=1
;;
2023-05-11 18:40:52 +02:00
-e)
2021-12-25 14:39:47 +01:00
# Run electron after building
RUN_ELECTRON=1
;;
esac
shift
done
if [ "${SHOW_HELP}" -eq 1 ]; then
echo
echo "Usage:"
2023-05-11 18:40:52 +02:00
echo "build.sh [-h] [-w] [-s] [-e]"
2021-12-25 14:39:47 +01:00
echo
echo "-h: show help"
2023-05-11 18:40:52 +02:00
echo "-w: use 'npm run watch' instead of 'npm run build', to enable hot swapping"
2021-12-25 14:39:47 +01:00
echo "-s: run UI server after completing the build"
echo "-e: run electron server after completing the build"
echo
exit
fi
WATCH_PID=$(cat "watch.pid" || echo "")
if [ ! -z "${WATCH_PID}" ]; then
echo "Stopping existing watch process..."
kill "${WATCH_PID}"
rm -f "watch.pid"
fi
2023-05-11 18:40:52 +02:00
if [ "${NPM_WATCH}" -eq 1 ]; then
2021-12-25 14:39:47 +01:00
echo "Building qortal-ui in watch mode..."
2023-05-11 18:40:52 +02:00
npm run watch &
2021-12-25 14:39:47 +01:00
echo "$!" > "watch.pid";
else
2023-05-11 18:40:52 +02:00
npm run build
2021-12-25 14:39:47 +01:00
fi
if [ "${RUN_SERVER}" -eq 1 ]; then
echo "Running UI server..."
trap : INT
2023-05-11 18:40:52 +02:00
npm run server
2021-12-25 14:39:47 +01:00
elif [ "${RUN_ELECTRON}" -eq 1 ]; then
echo "Starting electron..."
trap : INT
2023-05-11 18:40:52 +02:00
npm run start-electron
2021-12-25 14:39:47 +01:00
fi
WATCH_PID=$(cat "watch.pid" || echo "")
if [ ! -z "${WATCH_PID}" ]; then
echo "Stopping watch process..."
kill "${WATCH_PID}"
rm -f "watch.pid"
fi
# Catch-all to kill any remaining processes
pkill -P $$