feat: add runner conversion scripts and strengthen cutover automation
This commit is contained in:
72
runners-conversion/periodVault/setup.sh
Executable file
72
runners-conversion/periodVault/setup.sh
Executable file
@@ -0,0 +1,72 @@
|
||||
#!/usr/bin/env bash
|
||||
# setup.sh — Cross-platform developer environment setup entrypoint.
|
||||
#
|
||||
# macOS: Dispatches to scripts/setup-dev-environment.sh (full bootstrap).
|
||||
# Linux: Minimal bootstrap (JDK check, git hooks, Gradle dependencies).
|
||||
#
|
||||
# Usage: ./scripts/setup.sh [--install] [--verify]
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
OS="$(uname -s)"
|
||||
|
||||
if [[ "$OS" == "Darwin" ]]; then
|
||||
exec "${SCRIPT_DIR}/setup-dev-environment.sh" "$@"
|
||||
fi
|
||||
|
||||
if [[ "$OS" != "Linux" ]]; then
|
||||
echo "Unsupported OS: $OS. This script supports macOS and Linux."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# --- Linux bootstrap ---
|
||||
|
||||
echo "=== periodvault development setup (Linux) ==="
|
||||
echo ""
|
||||
|
||||
# Check JDK
|
||||
if command -v java >/dev/null 2>&1; then
|
||||
JAVA_MAJOR="$(java -version 2>&1 | head -1 | sed -E 's/.*"([0-9]+).*/\1/')"
|
||||
echo "[ok] Java is installed (major version: $JAVA_MAJOR)"
|
||||
if [[ "$JAVA_MAJOR" -lt 17 ]]; then
|
||||
echo "[warn] JDK 17+ is required. Found major version $JAVA_MAJOR."
|
||||
echo " Install: sudo apt-get install -y openjdk-17-jdk-headless"
|
||||
fi
|
||||
else
|
||||
echo "[error] Java not found."
|
||||
echo " Install: sudo apt-get install -y openjdk-17-jdk-headless"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check Android SDK
|
||||
if [[ -n "${ANDROID_HOME:-}" ]]; then
|
||||
echo "[ok] ANDROID_HOME is set: $ANDROID_HOME"
|
||||
else
|
||||
echo "[warn] ANDROID_HOME not set. Android SDK may not be available."
|
||||
echo " Set ANDROID_HOME to your Android SDK path for Android builds."
|
||||
fi
|
||||
|
||||
# Install git hooks
|
||||
if [[ -x "$SCRIPT_DIR/install-hooks.sh" ]]; then
|
||||
echo ""
|
||||
echo "Installing git hooks..."
|
||||
"$SCRIPT_DIR/install-hooks.sh"
|
||||
echo "[ok] Git hooks configured"
|
||||
fi
|
||||
|
||||
# Download Gradle dependencies
|
||||
if [[ -x "$PROJECT_ROOT/gradlew" ]]; then
|
||||
echo ""
|
||||
echo "Downloading Gradle dependencies..."
|
||||
"$PROJECT_ROOT/gradlew" --no-daemon dependencies > /dev/null 2>&1 || true
|
||||
echo "[ok] Gradle dependencies downloaded"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== Setup complete (Linux) ==="
|
||||
echo ""
|
||||
echo "Verification commands:"
|
||||
echo " ./gradlew shared:jvmTest"
|
||||
echo " ./gradlew androidApp:testDebugUnitTest"
|
||||
Reference in New Issue
Block a user