7
Я использую теги git для ввода версий в мои программы go, например. в Makefile
:Динамическая версия от git с go get
VERSION = $(shell git describe --always --dirty)
github_pki: main.go
CGO_ENABLED=0 GOOS=linux \
go build -a \
-ldflags="-X main.version=$(VERSION)" \
-installsuffix cgo -o [email protected] $<
Где version
определяется в main.go
как:
var version = "undefined"
Это прекрасно работает с использованием make
, но не при использовании go get
или go build
. Есть ли способ сделать эту работу ldflags
без использования внешней системы сборки (то есть с go build
/go get
)?
Не в соответствии с документацией. Однако вы можете использовать атрибут [ident git] (https://git-scm.com/docs/gitattributes#__code_ident_code), чтобы хотя бы добавить git-хэш файла в файл. –