-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathjustfile
More file actions
74 lines (56 loc) · 2.09 KB
/
Copy pathjustfile
File metadata and controls
74 lines (56 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Recipes reference $ROOT. The Nix shellHook exports it, but that makes every
# recipe depend on being inside `nix develop` — a problem for the iOS targets,
# which must run outside it. Defining it here works in both shells.
export ROOT := justfile_directory()
generate:
flutter_rust_bridge_codegen generate --rust-input=crate --rust-root=$ROOT/rust/ecashapp --dart-output=$ROOT/lib/
# `freezed_annotation` requires this build step, which gives us rust-like pattern matching in dart's codegen
flutter pub run build_runner build --delete-conflicting-outputs
# Generate localization files from ARB sources
flutter gen-l10n
build-linux:
$ROOT/scripts/build-linux.sh release-dev
build-debug-android *args:
$ROOT/docker/build-apk.sh debug {{args}}
build-release-android *args:
$ROOT/docker/build-apk.sh release {{args}}
build-appimage:
$ROOT/docker/build-appimage.sh
run-appimage-nixos path:
# This is needed in NixOS, if you are on another OS you can simply open the AppImage
appimage-run {{path}}
# profile: release-dev (default, fast) or release (shipping)
build-ios-device profile="release-dev":
$ROOT/scripts/build-rust-ios.sh device {{profile}}
run-ios-device *args:
$ROOT/scripts/run-ios-device.sh {{args}}
build-macos:
$ROOT/scripts/build-macos.sh
run-macos: build-macos
$ROOT/scripts/run-macos.sh
package-macos:
$ROOT/scripts/package-macos.sh
run: build-linux
flutter run
test:
flutter test
test-rust:
cd $ROOT/rust/ecashapp && cargo test
test-all: test test-rust
# Check translations/i18n for issues (missing keys, placeholders, hardcoded strings)
lint-translations:
$ROOT/scripts/check-translations.sh
# Regenerate localization files from ARB sources
gen-l10n:
flutter gen-l10n
# Scan the latest APK for F-Droid compatibility (checks for Google Play Services dependencies)
scan-apk:
#!/usr/bin/env bash
set -euo pipefail
APK=$(ls -t build/app/outputs/flutter-apk/ecashapp-*.apk 2>/dev/null | head -1)
if [ -z "$APK" ]; then
echo "No APK found. Run 'just build-debug-android' first."
exit 1
fi
echo "Scanning: $APK"
fdroid scanner -v --exit-code "$APK"