2016-02-22 00:13:08 +00:00
all : push
2016-11-10 22:56:29 +00:00
BUILDTAGS =
2016-12-11 17:14:53 +00:00
# Use the 0.0 tag for testing, it shouldn't clobber any release builds
2017-02-21 14:04:08 +00:00
RELEASE ?= 0.9.0-beta.2
2016-11-10 22:56:29 +00:00
PREFIX ?= gcr.io/google_containers/nginx-ingress-controller
GOOS ?= linux
2016-02-22 00:13:08 +00:00
2016-04-06 14:46:06 +00:00
REPO_INFO = $( shell git config --get remote.origin.url)
2016-11-10 22:56:29 +00:00
i f n d e f C O M M I T
COMMIT := git-$( shell git rev-parse --short HEAD)
2016-04-06 14:46:06 +00:00
e n d i f
2016-11-10 22:56:29 +00:00
PKG = k8s.io/ingress/controllers/nginx
build : clean
CGO_ENABLED = 0 GOOS = ${ GOOS } go build -a -installsuffix cgo \
-ldflags " -s -w -X ${ PKG } /pkg/version.RELEASE= ${ RELEASE } -X ${ PKG } /pkg/version.COMMIT= ${ COMMIT } -X ${ PKG } /pkg/version.REPO= ${ REPO_INFO } " \
-o rootfs/nginx-ingress-controller ${ PKG } /pkg/cmd/controller
2017-01-30 20:11:38 +00:00
container : build
2017-02-02 03:04:23 +00:00
docker build --pull -t $( PREFIX) :$( RELEASE) rootfs
2016-11-10 22:56:29 +00:00
2017-01-30 20:11:38 +00:00
push : container
2017-02-17 01:12:33 +00:00
gcloud docker -- push $( PREFIX) :$( RELEASE)
2016-11-10 22:56:29 +00:00
fmt :
@echo " + $@ "
@go list -f '{{if len .TestGoFiles}}"gofmt -s -l {{.Dir}}"{{end}}' $( shell go list ${ PKG } /... | grep -v vendor) | xargs -L 1 sh -c
lint :
@echo " + $@ "
@go list -f '{{if len .TestGoFiles}}"golint {{.Dir}}/..."{{end}}' $( shell go list ${ PKG } /... | grep -v vendor) | xargs -L 1 sh -c
test : fmt lint vet
@echo " + $@ "
@go test -v -race -tags " $( BUILDTAGS) cgo " $( shell go list ${ PKG } /... | grep -v vendor)
2016-02-22 00:13:08 +00:00
2016-11-10 22:56:29 +00:00
cover :
@echo " + $@ "
@go list -f '{{if len .TestGoFiles}}"go test -coverprofile={{.Dir}}/.coverprofile {{.ImportPath}}"{{end}}' $( shell go list ${ PKG } /... | grep -v vendor) | xargs -L 1 sh -c
gover
goveralls -coverprofile= gover.coverprofile -service travis-ci -repotoken ${ COVERALLS_TOKEN }
2016-02-22 00:13:08 +00:00
2016-11-10 22:56:29 +00:00
vet :
@echo " + $@ "
@go vet $( shell go list ${ PKG } /... | grep -v vendor)
2016-02-22 00:13:08 +00:00
clean :
2016-03-28 01:12:15 +00:00
rm -f nginx-ingress-controller