diff --git a/.gitignore b/.gitignore index d61cd03..852a404 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ *.pb.go -/cmd/mfer/mfer +/mfer diff --git a/Makefile b/Makefile index 78d4e69..22a7310 100644 --- a/Makefile +++ b/Makefile @@ -1,24 +1,31 @@ -PROTOC_GEN_GO := $(GOPATH)/bin/protoc-gen-go +PROTOC_GEN_GO := $(shell go env GOPATH)/bin/protoc-gen-go + +ARCH := $(shell uname -m) +VERSION := $(shell git describe --always --dirty=-dirty) + +GOLDFLAGS += -X main.Version=$(VERSION) +GOLDFLAGS += -X main.Buildarch=$(ARCH) +GOFLAGS := -ldflags "$(GOLDFLAGS)" default: run -run: compile - ./cmd/mfer/mfer - ./cmd/mfer/mfer gen . +run: ./mfer + ./$< + ./$< gen $(PROTOC_GEN_GO): - go get -u github.com/golang/protobuf/protoc-gen-go + test -e $(PROTOC_GEN_GO) || go get -u github.com/golang/protobuf/protoc-gen-go prereqs: $(PROTOC_GEN_GO) - which gofumpt && go install -v mvdan.cc/gofumpt@latest - which golangci-lint && go install -v github.com/golangci/golangci-lint/cmd/golangci-lint@latest + which gofumpt || go install -v mvdan.cc/gofumpt@latest + which golangci-lint || go install -v github.com/golangci/golangci-lint/cmd/golangci-lint@latest -compile: prereqs +mfer: prereqs src/*.go cmd/*/*.go cd proto && go generate . - cd cmd/mfer && go build + cd cmd/mfer && go build -o ../../mfer $(GOFLAGS) . clean: - rm -rfv proto/*.pb.go + rm -rfv proto/*.pb.go ./mfer fmt: prereqs gofumpt -l -w src cmd diff --git a/src/mfer.go b/src/mfer.go index 66f6055..4ca4ded 100644 --- a/src/mfer.go +++ b/src/mfer.go @@ -10,10 +10,13 @@ import ( "github.com/urfave/cli/v2" ) -func Run(Appname, Version, Buildarch string) int { +func printBanner(Appname, Version, Buildarch string) { s, _ := pterm.DefaultBigText.WithLetters(pterm.NewLettersFromString(Appname)).Srender() pterm.DefaultCenter.Println(s) // Print BigLetters with the default CenterPrinter +} +func Run(Appname, Version, Buildarch string) int { + printBanner(Appname, Version, Buildarch) app := &cli.App{ Name: Appname, Usage: "Manifest generator",