diff --git a/projects/greenlight/Makefile b/projects/greenlight/Makefile index e2c55bf..d4d5e8f 100644 --- a/projects/greenlight/Makefile +++ b/projects/greenlight/Makefile @@ -82,8 +82,10 @@ vendor: # # ==================================================================================== # -current_time = $(shell date -u +"%Y-%m-%dT%H:%M:%S%z") -linker_flags = '-s -X main.buildTime=${current_time}' +current_time = $(shell date --iso-8601=seconds) +git_description = $(shell git describe --always --dirty) +linker_flags = '-s -X main.buildTime=${current_time} -X main.version=${git_description} + ## build/api: build the cmd/api application .PHONY: build/api diff --git a/projects/greenlight/cmd/api/main.go b/projects/greenlight/cmd/api/main.go index d7d1631..e0c59be 100644 --- a/projects/greenlight/cmd/api/main.go +++ b/projects/greenlight/cmd/api/main.go @@ -19,14 +19,10 @@ import ( "greenlight.debuggingjon.dev/internal/mailer" ) -// Declare a string containing the application version number. Later in the book we'll -// generate this automatically at build time, but for now we'll just store the version -// number as a hard-coded global constant. -const version = "1.0.0" - -// Create a buildTime variable to hold the executable binary build time. Note that this -// must be a string type, as the -X linker flag will only work with string variables. -var buildTime string +var ( + buildTime string + version string +) // Define a config struct to hold all the configuration settings for our application. // For now, the only configuration settings will be the network port that we want the