diff --git a/.gitignore b/.gitignore index 720bda60..7216c087 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ go-junit-report +build/ diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..4c0aaf21 --- /dev/null +++ b/Makefile @@ -0,0 +1,26 @@ +VERSION=$(shell git describe --match="v*") +REVISION=$(shell git rev-parse HEAD) +TIMESTAMP=$(shell date +%FT%T) + +test: + go test ./... + +build/go-junit-report build/go-junit-report.exe: clean + go build --ldflags "-s -X main.Version=$(VERSION) -X main.Revision=$(REVISION) -X main.BuildTime=$(TIMESTAMP)" -o $@ + +build/go-junit-report-$(VERSION)-$(GOOS)-$(GOARCH).tar.gz: build/go-junit-report + tar czf $@ -C build go-junit-report + +build/go-junit-report-$(VERSION)-windows-amd64.zip: build/go-junit-report.exe + zip -j $@ build/go-junit-report.exe + +release: test + $(MAKE) GOOS=linux GOARCH=amd64 build/go-junit-report-$(VERSION)-linux-amd64.tar.gz + $(MAKE) GOOS=windows GOARCH=amd64 build/go-junit-report-$(VERSION)-windows-amd64.zip + $(MAKE) GOOS=darwin GOARCH=amd64 build/go-junit-report-$(VERSION)-darwin-amd64.tar.gz + +clean: + rm -f build/go-junit-report + rm -f build/go-junit-report.exe + +.PHONY: build clean release test