diff --git a/.gitignore b/.gitignore index e5ac5bd..872160a 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ go.work.sum # Binary /draft* +prepare-embed-stamp diff --git a/Makefile b/Makefile index 865a55b..d1cd1fa 100644 --- a/Makefile +++ b/Makefile @@ -1,25 +1,30 @@ -PKG_NAME="git.fernandovideira.com/FernandoJVideira/draft" +PKG_NAME := git.fernandovideira.com/FernandoJVideira/draft +VERSION := v0.1.0 +GO_SOURCES := $(shell find . -name '*.go' -not -path './assets/testdata/*') + +.PHONY: version build windows win-arm linux mac prepare-embed clean version: - @go run -ldflags "-X ${PKG_NAME}/cmd.version=v0.1.0" ./main.go version + @go run -ldflags "-X ${PKG_NAME}/cmd.version=${VERSION}" ./main.go version -build: prepare-embed +windows: ; @$(MAKE) build GOOS=windows GOARCH=amd64 OUTPUT=draft_windows_amd64.exe +win-arm: ; @$(MAKE) build GOOS=windows GOARCH=arm64 OUTPUT=draft_windows_arm64.exe +linux: ; @$(MAKE) build GOOS=linux GOARCH=amd64 OUTPUT=draft_linux_amd64 +mac: ; @$(MAKE) build GOOS=darwin GOARCH=arm64 OUTPUT=draft_darwin_arm64 + +build: $(OUTPUT) + +$(OUTPUT): prepare-embed-stamp $(GO_SOURCES) @echo "Building for $(GOOS)/$(GOARCH)..." - @GOOS=$(GOOS) GOARCH=$(GOARCH) go build -ldflags "-X ${PKG_NAME}/cmd.version=v0.1.0" -o $(OUTPUT) ./main.go + @GOOS=$(GOOS) GOARCH=$(GOARCH) go build -ldflags "-X ${PKG_NAME}/cmd.version=${VERSION}" -o $(OUTPUT) ./main.go -windows: - @$(MAKE) build GOOS=windows GOARCH=amd64 OUTPUT=draft_windows_amd64.exe - -win-arm: - @$(MAKE) build GOOS=windows GOARCH=arm64 OUTPUT=draft_windows_arm64.exe - -linux: - @$(MAKE) build GOOS=linux GOARCH=amd64 OUTPUT=draft_linux_amd64 - -mac: - @$(MAKE) build GOOS=darwin GOARCH=arm64 OUTPUT=draft_darwin_arm64 - -prepare-embed: +prepare-embed-stamp: @git submodule update --init --recursive @mkdir -p assets/embedded @GOOS="" GOARCH="" go run tools/sync_templates.go + @touch $@ + +prepare-embed: prepare-embed-stamp + +clean: + @rm -f draft_windows_amd64.exe draft_windows_arm64.exe draft_linux_amd64 draft_darwin_arm64 prepare-embed-stamp diff --git a/cmd/root.go b/cmd/root.go index a3314d9..a923dbb 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -9,8 +9,8 @@ import ( var rootCmd = &cobra.Command{ Use: "draft", - Short: "Draft is a CLI tool for bootstrapping Go APIs", - Long: `Draft is a CLI tool built by LKResuts for internal usage to bootstrap Go APIs`, + Short: "Draft is a CLI tool for bootstrapping Go APIs, clients, and monorepos", + Long: `Draft is a CLI tool built by LKResuts for internal usage to bootstrap Go APIs, Nuxt/Vue clients, and full-stack monorepos combining both`, } func Execute() {