Go Build tag - getting timestamp on Windows -
i have seen following command set build version
go build -ldflags "-x main.minversion `date -u +.%y%m%d%.h%m%s`" service.go
but cant timestamp part work on windows !
i using go 1.5 following arguments...
build -i -ldflags "-x main.server_name=mffp -x main.version=1.0.0 -x main.build_date=`date -u +.%y%m%d%.h%m%s`"
the error date part
is error system related? tried on windows?
thanks!
the command on *nix systems using backtick command substitution. date
built-in on posix, , inside `
s interpreted shell command , replaced value.
cmd.exe
doesn't command substitution inside backticks @ all, there's ways accomplish same thing using for /f delims=""
, aka powerful command in windows shell, it's pretty hacky. maybe use powershell instead, supports $(command)
syntax?
ps c:\users\adsmith> go build -i -ldflags "-x main.server_name=mffp -x main.version=1.0.0 -x main.build_date=$(get-date -uformat .%y%m%d%.h%m%s)"
you might have play format -- i'm not sure that's supposed on posix. outputs:
.20160107.111641 // jan 7th 2016, 11:16:41
Comments
Post a Comment