forked from rust-bitcoin/corepc
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjustfile
More file actions
62 lines (44 loc) · 2.65 KB
/
justfile
File metadata and controls
62 lines (44 loc) · 2.65 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
set export
REPO_DIR := `git rev-parse --show-toplevel`
# Targets where `--all-features` is used.
ALL_FEATURE_CRATES := "bitreq client fuzz jsonrpc types verify"
# Targets with conflicting features and only `SPECIFIC_FEATURES` are used.
SPECIFIC_FEATURES_CRATES := "integration_test node"
SPECIFIC_FEATURES := "latest"
alias ulf := update-lock-files
alias l := lint
alias li := lint-integration-tests
alias lv := lint-verify
default:
@just --list
# Cargo build everything.
build:
for crate in {{ALL_FEATURE_CRATES}}; do cargo build --manifest-path "$REPO_DIR/$crate/Cargo.toml" --all-targets --all-features; done
for crate in {{SPECIFIC_FEATURES_CRATES}}; do cargo build --manifest-path "$REPO_DIR/$crate/Cargo.toml" --all-targets --no-default-features --features={{SPECIFIC_FEATURES}}; done
# Cargo check everything.
check:
for crate in {{ALL_FEATURE_CRATES}}; do cargo check --manifest-path "$REPO_DIR/$crate/Cargo.toml" --all-targets --all-features; done
for crate in {{SPECIFIC_FEATURES_CRATES}}; do cargo check --manifest-path "$REPO_DIR/$crate/Cargo.toml" --all-targets --no-default-features --features={{SPECIFIC_FEATURES}}; done
# Lint everything.
lint: lint-verify lint-integration-tests
for crate in {{ALL_FEATURE_CRATES}}; do cargo +$(cat ./nightly-version) clippy --manifest-path "$REPO_DIR/$crate/Cargo.toml" --all-targets --all-features -- --deny warnings; done
for crate in {{SPECIFIC_FEATURES_CRATES}}; do cargo +$(cat ./nightly-version) clippy --manifest-path "$REPO_DIR/$crate/Cargo.toml" --all-targets --no-default-features --features={{SPECIFIC_FEATURES}} -- --deny warnings; done
lint-verify:
$REPO_DIR/contrib/lint-verify.sh
lint-integration-tests:
$REPO_DIR/contrib/lint-integtation-tests.sh
# Run cargo fmt
fmt:
cargo +$(cat ./nightly-version) fmt --all
cargo +$(cat ./nightly-version) fmt --manifest-path $REPO_DIR/integration_test/Cargo.toml
cargo +$(cat ./nightly-version) fmt --manifest-path $REPO_DIR/verify/Cargo.toml
# Check the formatting
format:
cargo +$(cat ./nightly-version) fmt --all --check
# Generate documentation.
docsrs *flags:
for crate in {{ALL_FEATURE_CRATES}}; do RUSTDOCFLAGS="--cfg docsrs -D warnings -D rustdoc::broken-intra-doc-links" cargo +$(cat ./nightly-version) doc --manifest-path "$REPO_DIR/$crate/Cargo.toml" --all-features {{flags}}; done
for crate in {{SPECIFIC_FEATURES_CRATES}}; do RUSTDOCFLAGS="--cfg docsrs -D warnings -D rustdoc::broken-intra-doc-links" cargo +$(cat ./nightly-version) doc --manifest-path "$REPO_DIR/$crate/Cargo.toml" --no-default-features --features={{SPECIFIC_FEATURES}} {{flags}}; done
# Update the recent and minimal lock files.
update-lock-files:
contrib/update-lock-files.sh