方針としては
- リリースビルドの時は、テキストファイル(
Misc\version.txt
)に記載のテキスト - スナップショットの時は、
git describe --tags
の結果
を使うことにしている。これはバッチファイルでも比較的簡単だ。 リリースビルドなら
for /F %%I in (%~dp0Misc\version.txt) do set "VERSION=%%I"
だし、スナップショットなら
for /F %%I in ('git describe --tags') do set "X_VERSION=-X main.version=%%I"
だ(若干変数が違うがスルーしていただきたい)。
これが PowerShell だと、もっと簡単で、リリースビルド:
Build (Get-Content Misc\version.txt) ""
となる。Build はビルドするための関数で第一引数のバージョン文字列を取る形になっている。スナップショットは
Build (git describe --tags) ""
だけで済む。PowerShell では括弧が逆クォート的な役割を担っている(文法的には式を展開する的な意味)。
うん、つまらないところなので、早くも飽きてきた(おい)。 次はもう少し面白いはずの、バージョンを設定するところを書こう。