Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. TAG_COMMIT := $(shell git rev-list --abbrev-commit --tags --max-count=1)
  2. TAG := $(shell git describe --abbrev=0 --tags ${TAG_COMMIT} 2>/dev/null || true)
  3. COMMIT := $(shell git rev-parse --short HEAD)
  4. DATE := $(shell git log -1 --format=%cd --date=format:"%Y%m%d")
  5. VERSION := $(TAG:v%=%)
  6. ifneq ($(COMMIT), $(TAG_COMMIT))
  7. VERSION := $(VERSION)-next-$(COMMIT)-$(DATE)
  8. endif
  9. ifeq $(VERSION,)
  10. VERSION := $(COMMIT)-$(DATA)
  11. endif
  12. ifneq ($(shell git status --porcelain),)
  13. VERSION := $(VERSION)-dirty
  14. endif
  15.  
  16. FLAGS := -ldflags "-X main.version=$(VERSION)"
  17.  
  18. build:
  19. go build $(FLAGS) -o projectname-$(VERSION) main.go
  20.  
  21. run:
  22. go run $(FLAGS) main.go
  23.  
  24. install:
  25. go install $(FLAGS)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement