-
Notifications
You must be signed in to change notification settings - Fork 1
/
Justfile
51 lines (41 loc) · 1.37 KB
/
Justfile
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
################################################################################
# Justfile #
# #
# Set of routines to execute for development work. #
################################################################################
# Run the benchmarks. Currently, this requires the nightly compiler series.
bench:
cargo +nightly bench
# Build the project, after checking that it is valid.
build: check
cargo build
# Runs the checker and linter.
check:
cargo check
cargo clippy
# Destroys build artifacts.
clean:
cargo clean
# Documents the project, after checking that it is valid.
doc: check
cargo doc
# Runs a Justfile recipe on every change to the workspace.
loop action:
cargo watch -s "just {{action}}"
# Runs the project under the Miri interpreter. This is currently nightly-only.
miri:
cargo +nightly miri test
# Prepares the project for package deployment.
#
# This allows uncommitted VCS files, as a convenience for development.
package: test doc
cargo package --allow-dirty
# Publishes the project to crates.io.
#
# This repackages the project and fails on a dirty VCS checkout.
publish: test doc
cargo package # no --allow-dirty this time
cargo publish
# Runs the test suite.
test: build
cargo test