export CARGO_INCREMENTAL := '0'
export RUSTFLAGS         := '-Zmacro-backtrace -Cinstrument-coverage' 
export RUSTDOCFLAGS      := '-Zmacro-backtrace -Cinstrument-coverage' 
export LLVM_PROFILE_FILE := "cov/cargo-test-%p-%m.profraw"
grcov-binary := "--binary-path ./target/coverage/build/tengri"
grcov-ignore := ""#--ignore-not-existing --ignore '../*' --ignore \"/*\" --ignore 'target/*'"

[private]
default:
  @just -l

bacon:
  bacon -s

cov:
  time cargo test -j4 --workspace --profile coverage
  rm -rf target/coverage/html || true
  time grcov . -s . {{grcov-binary}} {{grcov-ignore}} -t html -o target/coverage/html && reset

cov-md:
  time cargo test -j4 --workspace --profile coverage
  time grcov . -s . {{grcov-binary}} {{grcov-ignore}} -t markdown | sort

cov-md-ci:
  time cargo test -j4 --workspace --profile coverage -- --skip test_tui_engine
  time grcov . -s . {{grcov-binary}} {{grcov-ignore}} -t markdown | sort

doc:
  cargo doc

mode MODE:
  cargo run --example "mode_{{MODE}}"
