set shell := ["/usr/bin/env", "bash", "-euo", "pipefail", "-c"]

[private]
default:
	@just --choose

# Run controller
run-controller $RUST_LOG="debug,h2=info,hyper_util=info,tower=info":
  cargo run --package patagia-controller

# Run controller local development
dev-controller:
  watchexec --clear --restart --stop-signal INT --debounce 300ms -- just run-controller

# Run all tests
check:
  nix flake check

# Lint all source code
lint:
 cargo clippy

# Format all source code
fmt:
 nix fmt

# Update all dependencies
update: update-nix update-rust-deps

# Update rust dependencies
update-rust-deps:
  cargo upgrade --recursive
  cargo update --recursive

# Update nix flake packages
update-nix:
  nix flake update

# Find unused dependencies with cargo machete
machete:
  cargo machete