У меня есть очень простая цель сборки, такая как
prod:
packr
mkdir -p build/public
cp -r client/public/* build/public/
minify -o build/public/index.html client/public/index.html
minify -o build/public/app.js client/public/app.js
minify -o build/public/normalize.css client/public/normalize.css
gump patch -m "new release!"
$(eval TAG=$(shell git tag -l --sort -version:refname | head -n 1))
packr build -o build/pm -ldflags "-X main.Version=prod -X main.Tag=$(TAG)"
rm -fr build/public
У меня проблема с этими тремя строками, в частности
gump patch -m "new release!"
$(eval TAG=$(shell git tag -l --sort -version:refname | head -n 1))
packr build -o build/pm -ldflags "-X main.Version=prod -X main.Tag=$(TAG)"
В простом тексте, он бьет по тегам GIT, последнийверсия, сборка.
Однако по какой-то причине я пока не понимаю, Makefile
присваивает TAG = tagref-1, другими словами, предыдущую версию, а не вновь созданную.
Этоведет себя так, как если бы переменная была задана до того, как произошел удар.
Я ожидал, что назначение TAG получит последний номер тега, созданный с помощью предыдущей команды удара.