59 lines
1.1 KiB
Bash
59 lines
1.1 KiB
Bash
#!/bin/sh
|
|
# Author: shockrah
|
|
|
|
# Building
|
|
|
|
cargo_targets="json-api"
|
|
|
|
no_cargo_cache=false
|
|
|
|
mkdir -p bin/
|
|
# Statically built binaries make this part really easy
|
|
build_cargo_targets() {
|
|
for target in $cargo_targets;do
|
|
echo ================================================
|
|
echo =
|
|
echo =
|
|
echo =
|
|
echo = Building $target
|
|
echo =
|
|
echo =
|
|
echo =
|
|
echo ================================================
|
|
cd $target
|
|
|
|
cargo build --release
|
|
cp target/release/$target ../bin/
|
|
|
|
if [ $no_cargo_cache = "true" ];then
|
|
cargo clean
|
|
fi
|
|
|
|
cd ../
|
|
done
|
|
}
|
|
|
|
|
|
|
|
if [ -z $1 ];then
|
|
cat <<EOF
|
|
Script for BUILDING(not running/installing services) all relevant server binaries
|
|
Primarily to be used in docker images
|
|
|
|
Available options:
|
|
--no-cargo-cache
|
|
Cost: Slower compilation times after the first build as everything must be rebuilt
|
|
Benefit: less disk usage as it cleans up unused files after a 'cargo build --release'
|
|
EOF
|
|
|
|
else
|
|
for arg in $@;do
|
|
if [ "$arg" = "--no-cargo-cache" ];then
|
|
no_cargo_cache=true
|
|
fi
|
|
|
|
done
|
|
build_cargo_targets
|
|
fi
|
|
|