32 lines
970 B
Bash
Executable File
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
|