mod backend 'gejdr-backend/backend.just'
mod docker

default: lint

format:
	cargo fmt --all

format-check:
	cargo fmt --check --all

migrate:
	sqlx migrate run --source gejdr-core/migrations

build $SQLX_OFFLINE="1":
	cargo auditable build --bin gejdr-backend
	cargo auditable build --bin gejdr-bot

build-release $SQLX_OFFLINE="1":
	cargo auditable build --release --bin gejdr-backend
	cargo auditable build --release --bin gejdr-bot

lint:
	cargo clippy --all-targets

audit: build
	cargo audit bin target/debug/gejdr-backend
	cargo audit bin target/debug/gejdr-bot

audit-release: build-release
	cargo audit bin target/release/gejdr-backend
	cargo audit bin target/release/gejdr-bot

test:
	cargo test --all-targets --all

coverage:
	mkdir -p coverage
	cargo tarpaulin --config .tarpaulin.local.toml

coverage-ci:
	mkdir -p coverage
	cargo tarpaulin --config .tarpaulin.ci.toml

check-all: format-check lint coverage audit

docker-backend $SQLX_OFFLINE="1":
	nix build .#dockerBackend

## Local Variables:
## mode: makefile
## End: