BUF := docker run --rm --volume "`pwd`:/workspace" --workdir /workspace/idl bufbuild/buf:1.8.0
PROC := docker run --rm --volume "`pwd`:/workspace" --workdir /workspace ghcr.io/oreoxmt/openapi-scripts:v2.1.0
SPECFILE := ./pbgen/oas/openapi-spec.swagger.json
PROCCONF := ./idl/proc.conf.yaml

generate: ./idl/**/**/*.proto ./idl/**/*.yaml
	$(BUF) generate
	$(PROC) importmd $(SPECFILE) ./docs/concepts ./docs/gen/description.md
	$(PROC) deref $(SPECFILE)
	$(PROC) replaceint $(SPECFILE)
	$(PROC) replacebool $(SPECFILE)
	$(PROC) gencode $(SPECFILE)
	$(PROC) grouptag $(SPECFILE) Endpoints
	$(PROC) patch $(PROCCONF) $(SPECFILE)

lint:
	$(BUF) lint

check: lint

test: generate
	@(cd ./pbgen/ && gotestsum --junitfile ../../unit-tests-idl.xml ./...)

clean:


.PHONY: generate lint verify buf test clean
