chore: update dev script and add ADB download helper
dev.sh now runs preflight checks (build backend, build desktop, wails generate module, npm install + tsc) before starting wails dev, so type errors and binding mismatches surface immediately. Adds download-adb.sh for fetching platform ADB binaries to embed in distribution builds.
This commit is contained in:
+29
-14
@@ -2,20 +2,35 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||||
|
|
||||||
echo "[DroidScope] Starting dev environment..."
|
|
||||||
|
|
||||||
cd "$ROOT/frontend-react"
|
|
||||||
npm run dev &
|
|
||||||
FRONTEND_PID=$!
|
|
||||||
|
|
||||||
cd "$ROOT/desktop"
|
|
||||||
export PATH="$PATH:$(go env GOPATH)/bin"
|
export PATH="$PATH:$(go env GOPATH)/bin"
|
||||||
wails dev &
|
|
||||||
WAILS_PID=$!
|
|
||||||
|
|
||||||
echo "[DroidScope] Frontend PID: $FRONTEND_PID"
|
# ── 1. Build backend-go ────────────────────────────────────────────────────────
|
||||||
echo "[DroidScope] Wails PID: $WAILS_PID"
|
echo "[1/4] Building backend-go..."
|
||||||
|
cd "$ROOT/backend-go"
|
||||||
|
go build ./...
|
||||||
|
echo " ✓ backend-go"
|
||||||
|
|
||||||
trap "kill $FRONTEND_PID $WAILS_PID 2>/dev/null; exit 0" INT TERM
|
# ── 2. Build desktop (Go) ──────────────────────────────────────────────────────
|
||||||
wait
|
echo "[2/4] Building desktop..."
|
||||||
|
cd "$ROOT/desktop"
|
||||||
|
go build ./...
|
||||||
|
echo " ✓ desktop"
|
||||||
|
|
||||||
|
# ── 3. Regenerate Wails JS bindings ───────────────────────────────────────────
|
||||||
|
echo "[3/4] Regenerating Wails bindings..."
|
||||||
|
cd "$ROOT/desktop"
|
||||||
|
wails generate module
|
||||||
|
echo " ✓ wailsjs"
|
||||||
|
|
||||||
|
# ── 4. Install & type-check frontend ──────────────────────────────────────────
|
||||||
|
echo "[4/4] Checking frontend..."
|
||||||
|
cd "$ROOT/frontend-react"
|
||||||
|
npm install --silent
|
||||||
|
npx tsc -b --noEmit
|
||||||
|
echo " ✓ frontend"
|
||||||
|
|
||||||
|
# ── Start dev ─────────────────────────────────────────────────────────────────
|
||||||
|
echo ""
|
||||||
|
echo "Starting Wails dev server..."
|
||||||
|
cd "$ROOT/desktop"
|
||||||
|
wails dev
|
||||||
|
|||||||
Executable
+56
@@ -0,0 +1,56 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Downloads ADB binaries for all platforms into desktop/internal/adbembed/bin/
|
||||||
|
# Run once before building for distribution.
|
||||||
|
set -e
|
||||||
|
|
||||||
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||||
|
BIN_DIR="$ROOT/desktop/internal/adbembed/bin"
|
||||||
|
TMP=$(mktemp -d)
|
||||||
|
|
||||||
|
echo "[DroidScope] Downloading platform-tools..."
|
||||||
|
|
||||||
|
download_and_extract() {
|
||||||
|
local os=$1
|
||||||
|
local url=$2
|
||||||
|
local src_name=$3
|
||||||
|
local dest_name=$4
|
||||||
|
|
||||||
|
echo " → $os"
|
||||||
|
if [[ "$url" == *.zip ]]; then
|
||||||
|
curl -fsSL "$url" -o "$TMP/${os}.zip"
|
||||||
|
unzip -q "$TMP/${os}.zip" "platform-tools/$src_name" -d "$TMP/${os}/"
|
||||||
|
else
|
||||||
|
curl -fsSL "$url" -o "$TMP/${os}.tar.gz"
|
||||||
|
tar -xzf "$TMP/${os}.tar.gz" -C "$TMP/${os}/" "platform-tools/$src_name" 2>/dev/null || \
|
||||||
|
tar -xzf "$TMP/${os}.tar.gz" -C "$TMP/${os}/"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp "$TMP/${os}/platform-tools/$src_name" "$BIN_DIR/$dest_name"
|
||||||
|
chmod +x "$BIN_DIR/$dest_name"
|
||||||
|
}
|
||||||
|
|
||||||
|
mkdir -p "$TMP/darwin" "$TMP/linux" "$TMP/windows"
|
||||||
|
|
||||||
|
download_and_extract \
|
||||||
|
darwin \
|
||||||
|
"https://dl.google.com/android/repository/platform-tools-latest-darwin.zip" \
|
||||||
|
"adb" \
|
||||||
|
"adb-darwin-arm64"
|
||||||
|
|
||||||
|
cp "$BIN_DIR/adb-darwin-arm64" "$BIN_DIR/adb-darwin-amd64"
|
||||||
|
|
||||||
|
download_and_extract \
|
||||||
|
linux \
|
||||||
|
"https://dl.google.com/android/repository/platform-tools-latest-linux.zip" \
|
||||||
|
"adb" \
|
||||||
|
"adb-linux-amd64"
|
||||||
|
|
||||||
|
download_and_extract \
|
||||||
|
windows \
|
||||||
|
"https://dl.google.com/android/repository/platform-tools-latest-windows.zip" \
|
||||||
|
"adb.exe" \
|
||||||
|
"adb-windows-amd64.exe"
|
||||||
|
|
||||||
|
rm -rf "$TMP"
|
||||||
|
echo "[DroidScope] ADB binaries downloaded to $BIN_DIR"
|
||||||
|
ls -lh "$BIN_DIR"
|
||||||
Reference in New Issue
Block a user