Repository navigation
Expand file tree
/
Copy pathjustfile
More file actions
104 lines (77 loc) · 2.25 KB
/
Copy pathjustfile
File metadata and controls
104 lines (77 loc) · 2.25 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# Retromount development commands
#
# Run `just --list` to see all available commands.
#
# These recipes provide a consistent developer workflow and mirror the
# commands used in CI so contributors can easily run the same checks locally.
# Ensure Windows uses PowerShell as the execution shell.
# Linux/macOS will continue using their default shell.
set windows-shell := ["pwsh.exe", "-NoLogo", "-NoProfile", "-Command"]
# ------------------------------------------------
# Build tasks
# ------------------------------------------------
# Build the project in debug mode
build:
cargo build --all-targets --all-features --verbose
# Build the project in release mode
release:
cargo build --release --all-targets --all-features --verbose
# Remove build artifacts
clean:
cargo clean
# ------------------------------------------------
# Code quality
# ------------------------------------------------
# Apply automatic formatting fixes
fix:
cargo fmt
# Format code
fmt:
cargo fmt
# Check formatting without modifying files
fmt-check:
cargo fmt --all -- --check
# Run clippy lints and fail on warnings
lint:
cargo clippy --all-targets --all-features -- -D warnings
# Run tests
test:
cargo test --all-targets --all-features --verbose
# Run all local quality checks (recommended before committing)
check:
just fmt-check
just lint
just test
# ------------------------------------------------
# Running Retromount
# ------------------------------------------------
# Run the application
run:
cargo run
# Run with a specific configuration file
run-config CONFIG="retromount.yaml":
cargo run -- --config {{CONFIG}}
# Run with debug logging enabled
debug:
RUST_LOG=debug cargo run
# Run with very verbose logging
trace:
RUST_LOG=trace cargo run
# ------------------------------------------------
# Packaging
# ------------------------------------------------
# Build a Debian package (requires cargo-deb)
deb:
cargo deb
# Build release binary and Debian package
release-deb:
just release
cargo deb --no-build
# ------------------------------------------------
# CI parity
# ------------------------------------------------
# Run the same checks that CI performs
ci:
just check
just build
just release