Files
ThothII/scripts/build-tht.sh

47 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
export DOCKER_BUILDKIT=1
repository_root=$(cd "$(dirname "$0")/.." && pwd)
output_directory="${THT_THT_OUTPUT_DIRECTORY:-$repository_root/dist/tht}"
usage() {
cat <<'EOF'
Usage: bash scripts/build-tht.sh [--all] [--output ABSOLUTE_DIRECTORY]
Build every supported native tht binary with the repository-pinned Docker builder.
EOF
}
while [[ $# -gt 0 ]]; do
case "$1" in
--all)
;;
--output)
[[ $# -ge 2 ]] || { echo "--output requires an absolute directory" >&2; exit 2; }
output_directory=$2
shift
;;
--help|-h)
usage
exit 0
;;
*)
echo "unknown argument: $1" >&2
usage >&2
exit 2
;;
esac
shift
done
if [[ "$output_directory" != /* || "$output_directory" == / || "$output_directory" == */ ||
"$output_directory" == *//* || "/$output_directory/" == */../* ||
"/$output_directory/" == */./* ]]; then
echo "THT_THT_OUTPUT_DIRECTORY must be an absolute canonical path" >&2
exit 2
fi
mkdir -p "$output_directory"
docker build --file "$repository_root/docker/tht.Dockerfile" --output "type=local,dest=$output_directory" "$repository_root"