provisioning-code/justfiles/desktop.just

54 lines
1.7 KiB
Text

# Desktop Module — provisioning-desktop (Tauri 2) build, dev, and bundle recipes
_desktop_crate := "provisioning-desktop"
_desktop_dir := justfile_directory() / "platform/crates/provisioning-desktop"
# Build the desktop app in release mode
@desktop-build:
echo "Building provisioning-desktop (release)…"
cargo build -p {{_desktop_crate}} --release
echo "Done: target/release/provisioning-desktop"
# Build in debug mode (faster, includes devtools)
@desktop-dev:
echo "Building provisioning-desktop (debug)…"
cargo build -p {{_desktop_crate}}
# Run clippy on the desktop crate only
@desktop-lint:
cargo clippy -p {{_desktop_crate}} -- -D warnings
# Run tests for the desktop crate
@desktop-test:
cargo test -p {{_desktop_crate}}
# Bundle the macOS .app (requires tauri-cli)
@desktop-bundle-macos:
echo "Bundling macOS .app…"
cd {{_desktop_dir}} && cargo tauri build --target aarch64-apple-darwin
# Bundle the macOS .app for Intel
@desktop-bundle-macos-intel:
echo "Bundling macOS .app (x86_64)…"
cd {{_desktop_dir}} && cargo tauri build --target x86_64-apple-darwin
# Bundle Linux deb + AppImage
@desktop-bundle-linux:
echo "Bundling Linux packages…"
cd {{_desktop_dir}} && cargo tauri build --target x86_64-unknown-linux-gnu
# Run the desktop app in development mode (connects to a running daemon)
@desktop-run:
cargo run -p {{_desktop_crate}}
# Run with verbose tracing
@desktop-run-trace:
RUST_LOG=provisioning_desktop=debug,info cargo run -p {{_desktop_crate}}
# Initialize Tauri iOS target (first-time setup only)
@desktop-ios-init:
cd {{_desktop_dir}} && cargo tauri ios init
# Build iOS (requires Xcode + iOS SDK)
@desktop-ios-build:
cd {{_desktop_dir}} && cargo tauri ios build