set shell := ["bash", "-cu"] # local-only deploy recipes (gitignored), see deploy/ import? "deploy/local.justfile" APP_DIR := "app" SERVER_DIR := "server" alias srv := server alias s := server alias a := app default: @just --list # run the API server (prints the admin signup key at startup) server: cd "{{SERVER_DIR}}" && cargo run # build the app, install it and launch it on the connected device/emulator app: cd "{{APP_DIR}}" && sh tools/build_and_deploy.sh # start the emulator WITH a window (for manual testing) emu: cd "{{APP_DIR}}" && . ./android_env.sh && (emulator -avd privacypin_test -gpu swiftshader_indirect >/dev/null 2>&1 &) && adb wait-for-device && echo "Emulator ready." # start the emulator headless (for agents/CI) emu-headless: cd "{{APP_DIR}}" && sh tools/emulator_start.sh emu-stop: cd "{{APP_DIR}}" && sh tools/emulator_stop.sh # grant all app permissions via adb (skips the permission dialogs) perms: cd "{{APP_DIR}}" && sh tools/grant_permissions.sh # send a mock GPS fix to the emulator mock lat="45.5017" lon="-73.5673": cd "{{APP_DIR}}" && sh tools/mock_location.sh {{lat}} {{lon}} # tail the app's logs logs: cd "{{APP_DIR}}" && sh tools/logcat.sh # fake second user (curl): just peer create | invite | accept | send | get peer *args: sh "{{APP_DIR}}/tools/peer.sh" {{args}}