DMS-Modul-Grundgerüst als Unterordner im bestehenden nexarch-Monorepo (dms/), eigenes Go-Modul (gitea.perlbach24.de/scripte/nexarch/dms), getrennt von Core. App/Worker-Trennung nach paperless-ngx-Vorbild (lange Aufgaben blockieren nie eine Anfrage): cmd/app (HTTP, /healthz), cmd/worker (Hintergrund-Dienst-Stub), internal/shared. golangci-lint (govet/staticcheck/errcheck/unused/ineffassign/gofmt/ goimports) + Makefile-Targets (install/run/lint/fmt/test). Auf 192.168.1.131 verifiziert: build/fmt/lint/test clean, absichtlich eingefuegter Lint-Verstoss bricht den Build wie gefordert ab (Exit 2), make run startet App+Worker und /healthz antwortet innerhalb 2s. Siehe dms/docs/FDN-01-PRUEFPROTOKOLL.md fuer alle Pruefungsergebnisse. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HhgFcLS8tYMhDJpP74C6AQ
32 lines
620 B
Makefile
32 lines
620 B
Makefile
.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
|