- T01: Go module (keycape), full directory skeleton, Makefile, CI workflow - T02: spec/canonical-model.yaml with 6 entities + Go domain types - T03: spec/ldap-schema.yaml + validator binary with structural/semantic rules - T04: Error taxonomy — 4 stable error types, JSON format, HTTP helpers 28 tests pass, go vet clean, go build clean. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
29 lines
733 B
Makefile
29 lines
733 B
Makefile
GOBIN ?= $(shell go env GOPATH)/bin
|
|
BINDIR = ../bin
|
|
|
|
.PHONY: all build test lint vet clean
|
|
|
|
all: vet lint test build
|
|
|
|
build:
|
|
go build -o $(BINDIR)/keycape ./cmd/keycape/
|
|
go build -o $(BINDIR)/validator ./cmd/validator/
|
|
go build -o $(BINDIR)/lldap-export ./cmd/lldap-export/
|
|
go build -o $(BINDIR)/keycape-to-keycloak ./cmd/keycape-to-keycloak/
|
|
go build -o $(BINDIR)/lldap-to-ldap ./cmd/lldap-to-ldap/
|
|
|
|
test:
|
|
go test ./...
|
|
|
|
vet:
|
|
go vet ./...
|
|
|
|
lint:
|
|
@if command -v golangci-lint >/dev/null 2>&1; then \
|
|
golangci-lint run ./...; \
|
|
else \
|
|
echo "golangci-lint not installed, skipping (run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest)"; \
|
|
fi
|
|
|
|
clean:
|
|
rm -rf $(BINDIR)
|