blob: 1c6225b3a05d193bcec3fce6531f157078784032 [file] [log] [blame]
Akron2ef703c2025-07-03 15:57:42 +02001MODULE = github.com/KorAP/Koral-Mapper
2CONFIG = github.com/KorAP/Koral-Mapper/config
Akronaa629162025-06-04 11:44:52 +02003DEV_DIR = $(shell pwd)
Akronf22317d2026-02-25 11:37:59 +01004BUILDDATE = $(shell date -u '+%Y-%m-%dT%H:%M:%SZ')
Akronaa629162025-06-04 11:44:52 +02005BUILDVERSION = $(shell git describe --tags --abbrev=0 2>/dev/null)
6BUILDCOMMIT = $(shell git rev-parse --short HEAD)
Akronf22317d2026-02-25 11:37:59 +01007GO_LDFLAGS = -X $(CONFIG).Buildtime=$(BUILDDATE) \
8 -X $(CONFIG).Buildhash=$(BUILDCOMMIT) \
9 -X $(CONFIG).Version=$(BUILDVERSION) \
10 -s \
11 -w
Akronaa629162025-06-04 11:44:52 +020012
13BUILDOUT =
14ifeq ($(ACTION), build)
Akron2ef703c2025-07-03 15:57:42 +020015 BUILDOUT = -o ./koralmapper
Akronaa629162025-06-04 11:44:52 +020016endif
17
18
19ifeq ($(strip $(BUILDVERSION)), )
Akronf22317d2026-02-25 11:37:59 +010020 BUILDVERSION = EARLY
Akronaa629162025-06-04 11:44:52 +020021endif
22
23build:
24 go build -v \
Akronf22317d2026-02-25 11:37:59 +010025 -ldflags "$(GO_LDFLAGS)" \
Akronaa629162025-06-04 11:44:52 +020026 --trimpath \
27 $(BUILDOUT) \
Akron2ef703c2025-07-03 15:57:42 +020028 ./cmd/koralmapper/
Akronaa629162025-06-04 11:44:52 +020029
30update: ## Update all dependencies and clean up the dependency files.
31 go get -u all && go mod tidy
32
33test:
34 go test ./...
35
36bench: ## Run all benchmarks in the code.
37 go test -bench=. -benchmem ./... -run=^# -count 5
38
39vet: ## Run `go vet` on the code.
40 go vet ./...
41
42fuzz:
Akron428c0af2026-02-20 16:44:58 +010043 # go test -fuzz=FuzzTransformEndpoint -fuzztime=1m ./cmd/koralmapper
44 go test -fuzz=FuzzParseCfgParam -fuzztime=1m ./cmd/koralmapper
Akron50d5f832025-06-06 15:08:04 +020045
46docker:
Akronf22317d2026-02-25 11:37:59 +010047 docker build -f Dockerfile -t korap/koral-mapper:latest \
48 --build-arg BUILDDATE="$(BUILDDATE)" \
49 --build-arg BUILDCOMMIT="$(BUILDCOMMIT)" \
50 --build-arg BUILDVERSION="$(BUILDVERSION)" \
51 .