From aa955c3b4f7d26f97eb0b0ed29ce16aa9cb4d6d8 Mon Sep 17 00:00:00 2001 From: Kevin Offet Date: Sat, 15 Apr 2023 13:33:09 -0400 Subject: [PATCH] improved building --- .gitignore | 3 +-- Makefile | 4 +++- README.md | 3 ++- main.go | 9 +++++---- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 794cd4b..7764917 100644 --- a/.gitignore +++ b/.gitignore @@ -9,5 +9,4 @@ cfg/*.env cfg/*.toml build/ -buildTime.txt -buildVersion.txt +build*.txt diff --git a/Makefile b/Makefile index 1566d4c..a5778bc 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,7 @@ endif progName = scaffold arch = amd64 winbinName = $(progName).exe +releaseTag = $(shell git describe --abbrev=0) #---------------------------------------------------------------- # Helpers @@ -58,6 +59,7 @@ linkerflags = '-s' prep: clean > date +"%F %a %T %Z" > buildTime.txt > git describe --always --tags --dirty --long > buildVersion.txt +> mkdir -p build build: prep linux windows @@ -65,7 +67,7 @@ linux: > @GOOS=$@ GOARCH=$(arch) go build -o build/$@/$(progName) . && echo $@ "Build success" || echo $@ "[FAILED] go build" windows: -> @GOOS=$@ GOARCH=$(arch) go build -o build/$@/$(winbinName) . && echo $@ "Build success" || echo $@ "[FAILED] go build" +> @GOOS=$@ GOARCH=$(arch) go build -o build/$@/$(progName)-$(arch)-$(releaseTag).exe . && echo $@ "Build success" || echo $@ "[FAILED] go build" build-production: prep linx-production diff --git a/README.md b/README.md index 9f6dddb..c291873 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,14 @@ # scaffold ## Intro + Use scaffold to setup a new project with a directory skeleton of your design, and if you'd like, it can also automatically initialize local, remote and gitea git repositories for the new project. ## Git Git is available to be used as the version control system for new projects. Select/Deselect within the `scaffold-.toml` file. -***Please Note** that if you also use it for your configuration files and sample directories, then a .gitignore file within your sample directory will interfere with git's ability to track your skeletons/templates properly. So, to allow for this, put what you normally would in a .gitignore file into a GITIGNORE file in your sample directory. And scaffold will convert it to a .gitignore file within your newProject directory. +***Please Note*** that if you also use it for your configuration files and sample directories, then a .gitignore file within your sample directory will interfere with git's ability to track your skeletons/templates properly. So, to allow for this, put what you normally would in a .gitignore file into a GITIGNORE file in your sample directory. And scaffold will convert it to a .gitignore file within your newProject directory. If you are NOT using git to track your project types and samples/skeletons/templates, then no problem, just place a .gitignore file within the sample directory as you would any other file. diff --git a/main.go b/main.go index 1ea1c41..72c839a 100644 --- a/main.go +++ b/main.go @@ -48,7 +48,8 @@ var ( infoFlag = flag.Bool("Info", false, "Displays the program build information and exits.") infoFlag2 = flag.Bool("i", false, "Displays the program build information and exits.") sep = "/" - cfg_dir = ".config/devel/scaffold" + user_cfg_dir string + cfg_dir = "devel/scaffold" // relative to , on linux /home/user/.config cfg_filename = "scaffold-cfg.toml" setup ScaffoldSetup npsetup Setup @@ -66,9 +67,9 @@ func main() { fmt.Println("It's a windows system") } - ucfgd, err := os.UserConfigDir() + user_cfg_dir, err := os.UserConfigDir() ifFerr("Unable to determine user config directory", err) - fmt.Println("System says -- user config directory: ", ucfgd) + fmt.Println("System says -- user config directory: ", user_cfg_dir) os.Exit(0) } @@ -77,7 +78,7 @@ func main() { u, err := user.Current() ifFerr("Unable to get current user details", err) homeDir := u.HomeDir - scaffold_cfg_dir := homeDir + sep + cfg_dir + scaffold_cfg_dir := user_cfg_dir + sep + cfg_dir cfg_file := scaffold_cfg_dir + sep + cfg_filename if _, err := os.Stat(scaffold_cfg_dir); err != nil {