diff --git a/scripts/build-all.sh b/scripts/build-all.sh new file mode 100755 index 0000000..2f06d53 --- /dev/null +++ b/scripts/build-all.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" + +"$ROOT_DIR/scripts/build-backend.sh" +"$ROOT_DIR/scripts/build-web.sh" +"$ROOT_DIR/scripts/build-desktop.sh" + +echo "All builds completed." + diff --git a/scripts/build-backend.sh b/scripts/build-backend.sh new file mode 100755 index 0000000..14fad72 --- /dev/null +++ b/scripts/build-backend.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +OUT_DIR="$ROOT_DIR/backend/bin" + +mkdir -p "$OUT_DIR" + +cd "$ROOT_DIR/backend" +go test ./... +go build -o "$OUT_DIR/senlin-agent-api" ./cmd/api + +echo "Backend binary: $OUT_DIR/senlin-agent-api" + diff --git a/scripts/build-desktop.sh b/scripts/build-desktop.sh new file mode 100755 index 0000000..ad6a910 --- /dev/null +++ b/scripts/build-desktop.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" + +cd "$ROOT_DIR/apps/desktop" +npm run build + +echo "Desktop build completed." + diff --git a/scripts/build-web.sh b/scripts/build-web.sh new file mode 100755 index 0000000..3ad2a6b --- /dev/null +++ b/scripts/build-web.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" + +cd "$ROOT_DIR/apps/web" +npm run build + +echo "Web build output: $ROOT_DIR/apps/web/dist" + diff --git a/scripts/dev-all.sh b/scripts/dev-all.sh new file mode 100755 index 0000000..bda211e --- /dev/null +++ b/scripts/dev-all.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" + +cleanup() { + if [[ -n "${BACKEND_PID:-}" ]]; then + kill "$BACKEND_PID" 2>/dev/null || true + fi + if [[ -n "${WEB_PID:-}" ]]; then + kill "$WEB_PID" 2>/dev/null || true + fi +} + +trap cleanup EXIT INT TERM + +echo "Starting backend API..." +( + cd "$ROOT_DIR/backend" + go run ./cmd/api +) & +BACKEND_PID=$! + +echo "Starting Svelte web client..." +( + cd "$ROOT_DIR/apps/web" + npm run dev +) & +WEB_PID=$! + +wait -n "$BACKEND_PID" "$WEB_PID" +