mirror of
https://github.com/miekg/dns.git
synced 2026-04-14 12:31:01 +02:00
Add a version.go that has the semver version of this libary; now at 1.0.0. Use a struct so external code can easily check the for the version without resulting to string parsing. Add String() function if you want to access the version string. Use simple Makefile.release to kick off a new release: % edit version.go % make -f Makefile.release will tag and push according to version, if version is 1.0.0 the tag in git will be v1.0.0
52 lines
982 B
Makefile
52 lines
982 B
Makefile
# Makefile for releasing.
|
|
#
|
|
# The release is controlled from version.go. The version found there is
|
|
# used to tag the git repo, we're not building any artifects so there is nothing
|
|
# to upload to github.
|
|
#
|
|
# * Up the version in version.go
|
|
# * Run: make -f Makefile.release release
|
|
# * will *commit* your change with 'Release $VERSION'
|
|
# * push to github
|
|
#
|
|
|
|
define GO
|
|
//+build ignore
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/miekg/dns"
|
|
)
|
|
|
|
func main() {
|
|
fmt.Println(dns.Version.String())
|
|
}
|
|
endef
|
|
|
|
$(file > version_release.go,$(GO))
|
|
VERSION:=$(shell go run version_release.go)
|
|
TAG="v$(VERSION)"
|
|
|
|
all:
|
|
@echo Use the \'release\' target to start a release $(VERSION)
|
|
rm -f version_release.go
|
|
|
|
.PHONY: release
|
|
release: commit push
|
|
@echo Released $(VERSION)
|
|
rm -f version_release.go
|
|
|
|
.PHONY: commit
|
|
commit:
|
|
@echo Committing release $(VERSION)
|
|
git commit -am"Release $(VERSION)"
|
|
git tag $(TAG)
|
|
|
|
.PHONY: push
|
|
push:
|
|
@echo Pushing release $(VERSION) to master
|
|
git push --tags
|