NYAGOS は 4.2.1 まではバッチファイルで、以下の作業を行っていた。
- 実行ファイルの作成
- バージョン文字列の取得
- リリース(
make release
)の時はテキストファイル(Misc\version.txt
) - スナップショット(引数なし
make
)の時はgit describe --tags
を使用
- リリース(
- バージョン文字列・アイコンの埋め込み
- Go言語のソースへのバージョン文字列埋め込み
- Windows のプロパティとしてのバージョン文字列・アイコンの埋め込み
- goversioninfo の自動インストール
- nyagos.d 以下のファイルの EXE ファイル内への埋め込み(実は nyagos.d が存在しない場合にデフォルトとして利用するようになっている)
- go-bindataの自動インストール
- 必要最小限の
go fmt
(DOSのファイルシステムのアーカイブビットを利用している) - 作成CPUアーキテクチャの判断
- goarch.txt があれば、その中身を %GOARCH% に設定する
- goarch.txt がなければ、
go version
の結果から %GOARCH% を設定(不要だが、後の処理を合わせるため)
- 必要に応じて
go generate
の実行
- バージョン文字列の取得
- リリース用 ZIP ファイル作成(
make package
) - C言語定数の Go ソース化(
make const
要gcc) make clean
make get
(サブディレクトリ全部に対するgo get
)- 実行ファイルのバージョン・アーキテクチャの確認(
make status
)
NYAGOS 4.2.2 では、これらをだいたい PowerShell に置き換えた。
気が向いたら、順次説明してゆきたい