diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..eece47f --- /dev/null +++ b/Makefile @@ -0,0 +1,41 @@ +PREFIX?=$(shell pwd) +BUILDTAGS= + +VERSION = 0.2.0 + +.PHONY: clean all fmt vet lint build test install static +.DEFAULT: default + +all: clean build fmt lint test vet install + +build: + @echo "+ $@" + @go build -tags "$(BUILDTAGS) cgo" -ldflags "-w -extldflags -static -X main.version=$(VERSION)" -o untrak . + +static: + @echo "+ $@" + CGO_ENABLED=1 go build -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static -X main.version=$(VERSION)" -o untrak . + +fmt: + @echo "+ $@" + @gofmt -s -l . | grep -v vendor | tee /dev/stderr + +lint: + @echo "+ $@" + @golint ./... | grep -v vendor | tee /dev/stderr + +test: fmt lint vet + @echo "+ $@" + @go test -v -tags "$(BUILDTAGS) cgo" $(shell go list ./... | grep -v vendor) + +vet: + @echo "+ $@" + @go vet $(shell go list ./... | grep -v vendor) + +clean: + @echo "+ $@" + @rm -rf untrack + +install: + @echo "+ $@" + @go install . \ No newline at end of file diff --git a/main.go b/main.go index 4c25c29..be18692 100644 --- a/main.go +++ b/main.go @@ -2,6 +2,7 @@ package main import ( "flag" + "fmt" "log" "os" "strings" @@ -16,12 +17,28 @@ import ( "github.com/yanc0/untrak/config" ) +const ( + // BANNER is what is printed for help/info output. + BANNER = "Untrack - %s\n" +) + +var ( + // version indicates which version of the binary is running. + version string +) + func main() { // Flags, command line parameters var cfgPathOpt = flag.String("config", "./untrak.yaml", "untrak Config Path") var outputOpt = flag.String("o", "text", "Output format") + var versionOpt = flag.Bool("version", false, "Print version of the application") flag.Parse() + if *versionOpt { + fmt.Printf("%s\n", version) + os.Exit(0) + } + var wg sync.WaitGroup var resourcesIn []*kubernetes.Resource var resourcesOut []*kubernetes.Resource