PACKAGE_VERSION := $(shell npm run version --silent)

build:
	@rm -rf dist
	@mkdir -p dist/linux-amd64 dist/darwin-amd64 dist/windows-amd64
	@GOOS=linux  GOARCH=amd64 CGO_ENABLED=0 go build -ldflags '-X code.justin.tv/spade/code-generator/internal.Version=$(PACKAGE_VERSION)' -o ./dist/linux-amd64/spade-code-generator ./cmd/spade-code-generator
	@GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -ldflags '-X code.justin.tv/spade/code-generator/internal.Version=$(PACKAGE_VERSION)' -o ./dist/darwin-amd64/spade-code-generator ./cmd/spade-code-generator
	@GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -ldflags '-X code.justin.tv/spade/code-generator/internal.Version=$(PACKAGE_VERSION)' -o ./dist/windows-amd64/spade-code-generator.exe ./cmd/spade-code-generator

test:
	@go test ./...

bump:
	@npm --no-git-tag-version version $(version)
	@git add .
	@git commit -m "new release"

release: build
	@npm publish

docker-build:
	$(info Building docker container for spade-code-generator)
	docker build --tag spade-code-generator $(CURDIR)

docker-test: docker-build
	$(info Executing CI suite inside docker)
	docker run spade-code-generator make test