1
1
mirror of https://github.com/casey/just.git synced 2024-11-26 00:24:22 +03:00

Add groups to project justfile (#2351)

This commit is contained in:
Greg Shuflin 2024-09-16 19:32:04 -07:00 committed by GitHub
parent a440a6ac52
commit ab7105afce
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -8,54 +8,69 @@ log := "warn"
export JUST_LOG := log export JUST_LOG := log
[group: 'dev']
watch +args='test': watch +args='test':
cargo watch --clear --exec '{{ args }}' cargo watch --clear --exec '{{ args }}'
[group: 'test']
test: test:
cargo test --all cargo test --all
[group: 'check']
ci: forbid test build-book clippy ci: forbid test build-book clippy
cargo fmt --all -- --check cargo fmt --all -- --check
cargo update --locked --package just cargo update --locked --package just
[group: 'check']
fuzz: fuzz:
cargo +nightly fuzz run fuzz-compiler cargo +nightly fuzz run fuzz-compiler
[group: 'misc']
run: run:
cargo run cargo run
# only run tests matching PATTERN # only run tests matching PATTERN
[group: 'test']
filter PATTERN: filter PATTERN:
cargo test {{PATTERN}} cargo test {{PATTERN}}
[group: 'misc']
build: build:
cargo build cargo build
[group: 'misc']
fmt: fmt:
cargo fmt --all cargo fmt --all
[group: 'check']
shellcheck: shellcheck:
shellcheck www/install.sh shellcheck www/install.sh
[group: 'doc']
man: man:
mkdir -p man mkdir -p man
cargo run -- --man > man/just.1 cargo run -- --man > man/just.1
[group: 'doc']
view-man: man view-man: man
man man/just.1 man man/just.1
# add git log messages to changelog # add git log messages to changelog
[group: 'release']
update-changelog: update-changelog:
echo >> CHANGELOG.md echo >> CHANGELOG.md
git log --pretty='format:- %s' >> CHANGELOG.md git log --pretty='format:- %s' >> CHANGELOG.md
[group: 'release']
update-contributors: update-contributors:
cargo run --release --package update-contributors cargo run --release --package update-contributors
[group: 'check']
outdated: outdated:
cargo outdated -R cargo outdated -R
# publish current GitHub master branch # publish current GitHub master branch
[group: 'release']
publish: publish:
#!/usr/bin/env bash #!/usr/bin/env bash
set -euxo pipefail set -euxo pipefail
@ -70,10 +85,12 @@ publish:
cd ../.. cd ../..
rm -rf tmp/release rm -rf tmp/release
[group: 'release']
readme-version-notes: readme-version-notes:
grep '<sup>master</sup>' README.md grep '<sup>master</sup>' README.md
# clean up feature branch BRANCH # clean up feature branch BRANCH
[group: 'dev']
done BRANCH=`git rev-parse --abbrev-ref HEAD`: done BRANCH=`git rev-parse --abbrev-ref HEAD`:
git checkout master git checkout master
git diff --no-ext-diff --quiet --exit-code git diff --no-ext-diff --quiet --exit-code
@ -82,10 +99,12 @@ done BRANCH=`git rev-parse --abbrev-ref HEAD`:
git branch -D {{BRANCH}} git branch -D {{BRANCH}}
# install just from crates.io # install just from crates.io
[group: 'misc']
install: install:
cargo install -f just cargo install -f just
# install development dependencies # install development dependencies
[group: 'dev']
install-dev-deps: install-dev-deps:
rustup install nightly rustup install nightly
rustup update nightly rustup update nightly
@ -95,19 +114,24 @@ install-dev-deps:
cargo install mdbook mdbook-linkcheck cargo install mdbook mdbook-linkcheck
# everyone's favorite animate paper clip # everyone's favorite animate paper clip
[group: 'check']
clippy: clippy:
cargo clippy --all --all-targets --all-features -- --deny warnings cargo clippy --all --all-targets --all-features -- --deny warnings
[group: 'check']
forbid: forbid:
./bin/forbid ./bin/forbid
[group: 'dev']
replace FROM TO: replace FROM TO:
sd '{{FROM}}' '{{TO}}' src/*.rs sd '{{FROM}}' '{{TO}}' src/*.rs
[group: 'demo']
test-quine: test-quine:
cargo run -- quine cargo run -- quine
# make a quine, compile it, and verify it # make a quine, compile it, and verify it
[group: 'demo']
quine: quine:
mkdir -p tmp mkdir -p tmp
@echo '{{quine-text}}' > tmp/gen0.c @echo '{{quine-text}}' > tmp/gen0.c
@ -135,15 +159,18 @@ quine-text := '
} }
' '
[group: 'test']
test-completions: test-completions:
./tests/completions/just.bash ./tests/completions/just.bash
[group: 'check']
build-book: build-book:
cargo run --package generate-book cargo run --package generate-book
mdbook build book/en mdbook build book/en
mdbook build book/zh mdbook build book/zh
# run all polyglot recipes # run all polyglot recipes
[group: 'demo']
polyglot: _python _js _perl _sh _ruby polyglot: _python _js _perl _sh _ruby
_python: _python:
@ -173,9 +200,11 @@ _ruby:
puts "Hello from ruby!" puts "Hello from ruby!"
# Print working directory, for demonstration purposes! # Print working directory, for demonstration purposes!
[group: 'demo']
pwd: pwd:
echo {{invocation_directory()}} echo {{invocation_directory()}}
[group: 'test']
test-bash-completions: test-bash-completions:
rm -rf tmp rm -rf tmp
mkdir -p tmp/bin mkdir -p tmp/bin
@ -186,6 +215,7 @@ test-bash-completions:
echo 'bar:' > tmp/foo.just echo 'bar:' > tmp/foo.just
cd tmp && PATH="`realpath bin`:$PATH" bash --init-file just.bash cd tmp && PATH="`realpath bin`:$PATH" bash --init-file just.bash
[group: 'test']
test-release-workflow: test-release-workflow:
-git tag -d test-release -git tag -d test-release
-git push origin :test-release -git push origin :test-release