よーし、おじさんも、Git のリビジョン番号を埋め込んじゃうぞー!
Makefile
build :
for /F %%V IN ('git log -1 --pretty^=format:%%H') DO go build -ldflags "-X main.version [SNAPSHOT-%DATE:/=%-%%V]"
すまない、nmake 以外は帰ってくれないか?
- これで
main.version
という変数に[SNAPSHOT-(ビルド日付)-(gitのリビジョン)]
という値が設定される - git のオプションは
--pretty=format:%H
なんだけど、%
で囲まれた範囲に=
があると置換だと CMD.EXE が判断してしまうので、^
で=
をエスケープする。
なお、Go側のコードについては、元記事を読んだ方が身のためだ。
まぁ、それにしても Go タグがついてるけど、Go のコード全然出てこないね!どちらかというとバッチ芸…
以上