comlexr 1.4.2

Dynamically build Command objects with conditional expressions
Documentation
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}"