2016-02-22 00:13:08 +00:00
all : push
2016-11-10 22:56:29 +00:00
BUILDTAGS =
2016-02-22 00:13:08 +00:00
# 0.0 shouldn't clobber any release builds
2016-11-10 22:56:29 +00:00
RELEASE ?= 0.0
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
container :
docker build -t $( PREFIX) :$( RELEASE) rootfs
push :
gcloud docker push $( PREFIX) :$( RELEASE)
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