.PHONY: install run run-app run-worker lint fmt test build

# Akzeptanzkriterium 1: ein Befehl installiert+startet App und Worker.
install: build

build:
	go build ./...

run: build
	@echo "Starte dms-app und dms-worker (Strg+C zum Beenden beider)"
	@trap 'kill 0' EXIT; \
	go run ./cmd/app & \
	go run ./cmd/worker & \
	wait

run-app:
	go run ./cmd/app

run-worker:
	go run ./cmd/worker

# Akzeptanzkriterium 2: Lint-/Format-Checks laufen lokal durch.
lint:
	golangci-lint run ./...

fmt:
	gofmt -l .
	@test -z "$$(gofmt -l .)" || (echo "gofmt-Verstoesse gefunden, siehe oben" && exit 1)

test:
	go test ./... -count=1
