26 lines
885 B
Bash
Executable File
26 lines
885 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
script_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
|
|
cd "$script_dir/.."
|
|
|
|
releasekit_module=gitea.maximumdirect.net/eric/ReleaseKit
|
|
bootstrap_dir=$(mktemp -d "${TMPDIR:-/tmp}/releasekit-bootstrap.XXXXXX")
|
|
trap 'rm -rf "$bootstrap_dir"' EXIT
|
|
cp go.mod "$bootstrap_dir/go.mod"
|
|
if [[ -f go.sum ]]; then
|
|
cp go.sum "$bootstrap_dir/go.sum"
|
|
else
|
|
: > "$bootstrap_dir/go.sum"
|
|
fi
|
|
cp "$bootstrap_dir/go.mod" "$bootstrap_dir/releasekit.mod"
|
|
cp "$bootstrap_dir/go.sum" "$bootstrap_dir/releasekit.sum"
|
|
|
|
mkdir -p bin
|
|
GOWORK=off GOTOOLCHAIN=local go list -mod=mod -modfile="$bootstrap_dir/releasekit.mod" -m "$releasekit_module" >/dev/null
|
|
GOWORK=off GOTOOLCHAIN=local go build -mod=mod -modfile="$bootstrap_dir/releasekit.mod" \
|
|
-o ./bin/releasekit "$releasekit_module/cmd/releasekit"
|
|
rm -rf "$bootstrap_dir"
|
|
trap - EXIT
|
|
exec ./bin/releasekit "$@"
|