.PHONY: install run run-app run-worker lint fmt test build check # 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: # -p 1: alle Integrationstest-Pakete teilen sich dieselbe physische # Test-Datenbank (TEST_TENANT_DSN); parallele Paketausfuehrung wuerde # sich gegenseitig ueberschreiben (dieselbe Konvention wie NEXARCH Core, # siehe scripts/run-checks.sh im Core-Modul). go test ./... -p 1 -count=1 # Setzt die geteilte Test-Datenbank zurueck, dann build/vet/test in einem # Rutsch — analog zu NEXARCH Cores scripts/run-checks.sh. check: build NEXARCH_DMS_TEST_DB_PASSWORD="$${NEXARCH_DMS_TEST_DB_PASSWORD:?Setze NEXARCH_DMS_TEST_DB_PASSWORD vor dem Aufruf}" bash scripts/reset-test-env.sh go vet ./... golangci-lint run ./... go test ./... -p 1 -count=1