60 lines
1.4 KiB
Makefile
60 lines
1.4 KiB
Makefile
export RUST_BACKTRACE := "1"
|
|
|
|
set dotenv-load := true
|
|
set positional-arguments := true
|
|
|
|
# default recipe to display help information
|
|
default:
|
|
@just --list
|
|
|
|
# Clean up development files and images
|
|
clean:
|
|
cargo clean
|
|
|
|
# Run unit tests
|
|
test:
|
|
cargo test --workspace -- --show-output
|
|
|
|
# Run unit tests for all features
|
|
test-all-features:
|
|
cargo test --workspace --all-features -- --show-output
|
|
|
|
# Run clippy
|
|
lint:
|
|
cargo clippy
|
|
|
|
# Run clippy for all features
|
|
lint-all-features:
|
|
cargo clippy --all-features
|
|
|
|
# Expand the macros of a module for debugging
|
|
expand *args:
|
|
cargo expand $@ > ./expand.rs
|
|
$EDITOR ./expand.rs
|
|
|
|
# Installs cargo tools that help with development
|
|
tools:
|
|
rustup toolchain install stable nightly
|
|
rustup component add --toolchain stable rust-analyzer clippy rustfmt
|
|
cargo install --locked cargo-watch cargo-expand bacon
|
|
|
|
# Run cargo release and push the tag separately
|
|
release *args:
|
|
#!/usr/bin/env bash
|
|
set -euxo pipefail
|
|
|
|
# --workspace: updating all crates in the workspace
|
|
# --no-tag: do not push tag for each new version
|
|
# --no-confirm: don't look for user input, just run the command
|
|
# --execute: not a dry run
|
|
cargo release $1 -v \
|
|
--workspace \
|
|
--no-tag \
|
|
--no-confirm \
|
|
--execute
|
|
|
|
VERSION=$(cargo metadata --format-version 1 | jq -r '.packages[] | select(.name == "comlexr") .version')
|
|
echo "Pushing tag: v${VERSION}"
|
|
git tag "v${VERSION}"
|
|
git push origin "v${VERSION}"
|