generated from myrrlyn/template_rs
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathJustfile
57 lines (45 loc) · 1.55 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
52
53
54
55
56
57
################################################################################
# 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 --all-features
# Runs the checker and linter.
check: format
cargo check --all-features
cargo clippy --all-features
# Destroys build artifacts.
clean:
cargo clean
# Development workflow.
dev: format check doc test
# Documents the project, after checking that it is valid.
doc: check
cargo doc --document-private-items --all-features
format:
cargo +nightly fmt
# Runs a Justfile recipe on every change to the workspace.
loop action:
watchexec -- "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 --all-features