72 lines
2.2 KiB
Makefile
72 lines
2.2 KiB
Makefile
SHELL := /bin/bash
|
|
.PHONY: build build-web build-server build-tui run run-tui dev docker-up docker-down clean
|
|
|
|
GIT_SHA := $(shell git rev-parse --short HEAD)
|
|
|
|
# Build everything
|
|
build: build-web build-server
|
|
|
|
# Build the Go server
|
|
build-server:
|
|
CGO_ENABLED=0 go build -o dumpster-server ./cmd/server
|
|
|
|
# Build the TUI client
|
|
build-tui:
|
|
CGO_ENABLED=0 go build -o dumpster-tui ./cmd/tui
|
|
|
|
# Build the Tauri desktop app (Linux AppImage)
|
|
build-tauri:
|
|
cd web && NODE_ENV=development NO_STRIP=true npx tauri build --bundles appimage,deb,rpm
|
|
|
|
# Build signed Android APK
|
|
build-android:
|
|
cd web && ANDROID_HOME=$(HOME)/Android/Sdk NDK_HOME=$(HOME)/Android/Sdk/ndk/27.2.12479018 JAVA_HOME=/usr/lib/jvm/java-17-openjdk npx tauri android build --apk
|
|
@echo "APK: web/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk"
|
|
|
|
# Build signed Android AAB (Google Play bundle)
|
|
build-android-aab:
|
|
cd web && ANDROID_HOME=$(HOME)/Android/Sdk NDK_HOME=$(HOME)/Android/Sdk/ndk/27.2.12479018 JAVA_HOME=/usr/lib/jvm/java-17-openjdk npx tauri android build --aab
|
|
@echo "AAB: web/src-tauri/gen/android/app/build/outputs/bundle/universalRelease/app-universal-release.aab"
|
|
|
|
# Generate Swagger docs
|
|
docs:
|
|
~/go/bin/swag init -g cmd/server/main.go -o docs
|
|
|
|
# Build the web frontend
|
|
build-web:
|
|
cd web && ([ -s ~/.nvm/nvm.sh ] && . ~/.nvm/nvm.sh && GIT_SHA=$(GIT_SHA) npm run build || GIT_SHA=$(GIT_SHA) npm run build)
|
|
|
|
# Run the server locally (dev mode)
|
|
run: build-server
|
|
./dumpster-server
|
|
|
|
# Run the TUI client
|
|
run-tui: build-tui
|
|
./dumpster-tui
|
|
|
|
# Run web dev server (in a separate terminal)
|
|
dev-web:
|
|
cd web && [ -s ~/.nvm/nvm.sh ] && . ~/.nvm/nvm.sh && npm run dev || (cd web && npm run dev)
|
|
|
|
# Start all backing services (no app, run that locally)
|
|
docker-dev:
|
|
docker compose -f docker/compose.yml up postgres valkey minio livekit coturn -d
|
|
|
|
# Start everything in Docker
|
|
docker-up:
|
|
docker compose -f docker/compose.yml up -d --build
|
|
|
|
# Stop everything
|
|
docker-down:
|
|
docker compose -f docker/compose.yml down
|
|
|
|
# Stop and remove volumes
|
|
docker-clean:
|
|
docker compose -f docker/compose.yml down -v
|
|
|
|
# Clean build artifacts
|
|
clean:
|
|
rm -f dumpster-server dumpster-tui
|
|
rm -rf web/dist
|
|
rm -rf web/node_modules
|