Files
2026-07-15 14:28:58 +08:00

32 lines
970 B
Bash
Executable File

#!/usr/bin/env bash
# Build the redapricot hub (Java) and client (Go).
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
# The Gradle JVM: prefer JAVA_HOME, then an SDKMAN JDK, then whatever is on PATH.
if [[ -z "${JAVA_HOME:-}" ]]; then
if [[ -d "$HOME/.sdkman/candidates/java/current" ]]; then
JAVA_HOME="$HOME/.sdkman/candidates/java/current"
fi
fi
export JAVA_HOME
GRADLE="${GRADLE:-$HOME/.sdkman/candidates/gradle/current/bin/gradle}"
if ! command -v "$GRADLE" >/dev/null 2>&1; then
GRADLE="gradle"
fi
echo ">> Building Java hub server (installDist)..."
"$GRADLE" -p "$ROOT/server" installDist --console=plain
echo ">> Building Go client..."
mkdir -p "$ROOT/bin"
( cd "$ROOT" && go build -o "$ROOT/bin/redapricot-client" ./cmd/redapricot-client )
cat <<EOF
>> Build complete.
Hub: $ROOT/server/build/install/redapricot-server/bin/redapricot-server <config.json>
Client: $ROOT/bin/redapricot-client <config.json>
EOF