monorepo/build.sh

72 lines
1.2 KiB
Bash
Raw Normal View History

2023-08-07 18:51:45 +00:00
#!/usr/bin/env bash
set -euo pipefail
2023-08-07 20:20:18 +00:00
RUST_ALL_TARGETS=(
2023-08-16 03:53:00 +00:00
"changeset"
"config"
"config-derive"
2023-08-16 03:53:00 +00:00
"coordinates"
"cyberpunk-splash"
2023-08-07 20:20:18 +00:00
"dashboard"
2023-08-16 03:53:00 +00:00
"emseries"
"file-service"
2023-08-16 03:53:00 +00:00
"fluent-ergonomics"
"geo-types"
"gm-control-panel"
2023-08-16 03:53:00 +00:00
"hex-grid"
2023-08-07 20:20:18 +00:00
"ifc"
2023-08-10 23:53:20 +00:00
"kifu-core"
"kifu-gtk"
2023-08-07 20:20:18 +00:00
"memorycache"
"nom-training"
"result-extended"
2023-08-07 20:20:18 +00:00
"screenplay"
"sgf"
)
build_rust_targets() {
local CMD=$1
local TARGETS=${@/$CMD}
for target in $TARGETS; do
MODULE=$target CMD=$CMD ./builders/rust.sh
done
}
2023-08-18 00:54:05 +00:00
build_dist() {
local TARGETS=${@/$CMD}
for target in $TARGETS; do
if [ -f $target/dist.sh ]; then
build_rust_targets release ${TARGETS[*]}
2023-08-18 00:54:05 +00:00
cd $target && ./dist.sh
fi
done
}
2023-08-07 18:51:45 +00:00
export CARGO=`which cargo`
if [ -z "${TARGET-}" ]; then
TARGET="all"
2023-08-07 18:51:45 +00:00
fi
if [ -z "${CMD-}" ]; then
CMD="test release"
2023-08-07 18:51:45 +00:00
fi
2023-08-07 20:20:18 +00:00
if [ "${CMD}" == "clean" ]; then
cargo clean
exit 0
fi
for cmd in $CMD; do
2023-08-18 00:54:05 +00:00
if [ "${CMD}" == "dist" ]; then
build_dist $TARGET
elif [ "${TARGET}" == "all" ]; then
build_rust_targets $cmd ${RUST_ALL_TARGETS[*]}
else
build_rust_targets $cmd $TARGET
fi
done