Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
72 lines (50 loc) · 1.64 KB
/
Copy pathMakefile
File metadata and controls
72 lines (50 loc) · 1.64 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
# Aquachain contracts local gates
CLIPPY_FLAGS := -D warnings
CARGO ?= cargo
.PHONY: help fmt format lint test coverage coverage-summary coverage-html tarpaulin \
machete outdated fuzz fuzz-build geiger audit deny doc ci
.DEFAULT_GOAL := help
help:
@echo "Aquachain contracts targets"
@echo " make lint / test / doc / coverage / audit / deny / ci"
fmt:
$(CARGO) fmt --all -- --check
format:
$(CARGO) fmt --all
lint: fmt
$(CARGO) clippy --workspace --all-targets -- $(CLIPPY_FLAGS)
test:
$(CARGO) test --workspace
doc:
RUSTDOCFLAGS='-D warnings' $(CARGO) doc --workspace --no-deps --lib
coverage:
mkdir -p coverage
RUSTUP_TOOLCHAIN=stable $(CARGO) llvm-cov --workspace --locked --lcov --output-path coverage/lcov.info
coverage-summary:
RUSTUP_TOOLCHAIN=stable $(CARGO) llvm-cov --workspace --locked --summary-only
coverage-html:
mkdir -p coverage
RUSTUP_TOOLCHAIN=stable $(CARGO) llvm-cov --workspace --locked --html --output-dir coverage/html
tarpaulin:
mkdir -p coverage/tarpaulin
$(CARGO) tarpaulin --workspace --locked --out Html --out Xml --output-dir coverage/tarpaulin
machete:
$(CARGO) machete
outdated:
$(CARGO) outdated --workspace
FUZZ_TARGET ?=
FUZZ_TIME ?= 10
fuzz-build:
@test -d fuzz || (echo "no fuzz/; skip or add a cargo-fuzz workspace"; exit 1)
cargo +nightly fuzz build
fuzz:
@test -n "$(FUZZ_TARGET)" || (echo "set FUZZ_TARGET=…"; exit 1)
cargo +nightly fuzz run $(FUZZ_TARGET) -- -max_total_time=$(FUZZ_TIME)
geiger:
$(CARGO) geiger --workspace || true
audit:
$(CARGO) audit
deny:
$(CARGO) deny check
# rustdoc skipped: sylvia serde derives break under cargo doc with serde 1.0.22x
ci: lint test audit deny