.PHONY: build test vet dev plugin ui test-ui
export GOCACHE := $(CURDIR)/.cache/go-build

build:
	mkdir -p bin plugin/bin
	go build -o bin/campaign ./cmd/campaign
	python3 scripts/collect-go-licenses.py
	cp bin/campaign plugin/bin/campaign
	cp ../LICENSE ../THIRD_PARTY_NOTICES.md ../docs/third-party-licenses.txt ../docs/go-third-party-licenses.txt plugin/
	python3 -c 'from pathlib import Path; Path("plugin/backend-root.txt").write_text(str(Path.cwd()) + "\n")'

test:
	go test -race ./...

vet:
	go vet ./...

dev: build
	./bin/campaign serve -demo

plugin: build
	sh scripts/install-plugin.sh

ui:
	cd ui && npm run build
	python3 scripts/collect-licenses.py

test-ui:
	cd ui && npm run check
	cd ui && npm test
