2016-02-21 16:13:08 -08:00
all : push
2016-11-10 19:56:29 -03:00
BUILDTAGS =
2016-12-11 09:14:53 -08:00
# Use the 0.0 tag for testing, it shouldn't clobber any release builds
2017-01-30 12:11:38 -08:00
RELEASE ?= 0.9.0-beta.1
2016-11-10 19:56:29 -03:00
PREFIX ?= gcr.io/google_containers/nginx-ingress-controller
GOOS ?= linux
2016-02-21 16:13:08 -08:00
2016-04-06 11:46:06 -03:00
REPO_INFO = $( shell git config --get remote.origin.url)
2016-11-10 19:56:29 -03:00
i f n d e f C O M M I T
COMMIT := git-$( shell git rev-parse --short HEAD)
2016-04-06 11:46:06 -03:00
e n d i f
2016-11-10 19:56:29 -03: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 12:11:38 -08:00
container : build
2017-02-01 19:04:23 -08:00
docker build --pull -t $( PREFIX) :$( RELEASE) rootfs
2016-11-10 19:56:29 -03:00
2017-01-30 12:11:38 -08:00
push : container
2016-11-10 19:56:29 -03:00
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-21 16:13:08 -08:00
2016-11-10 19:56:29 -03: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-21 16:13:08 -08:00
2016-11-10 19:56:29 -03:00
vet :
@echo " + $@ "
@go vet $( shell go list ${ PKG } /... | grep -v vendor)
2016-02-21 16:13:08 -08:00
clean :
2016-03-27 22:12:15 -03:00
rm -f nginx-ingress-controller