Skip to content

Latest commit

 

History

History
131 lines (110 loc) · 7.75 KB

build-batchfiles.md

File metadata and controls

131 lines (110 loc) · 7.75 KB

ビルドに使用するバッチファイル

使用するバッチファイルの一覧

ファイル名 説明
build-all.bat appveyor.yml から呼ばれるバッチファイル
build-sln.bat solution をビルドする
build-gnu.bat Makefile をビルドする
build-sonar-qube-start.bat SonarQube の準備を行う
build-sonar-qube-env.bat SonarQube の実行に必要な環境変数の設定を行う
sakura\preBuild.bat 特に何もしない
sakura\githash.bat Git や CI の環境変数から githash.h を生成する
sakura\postBuild.bat bregonig.dll と ctags.exe を展開しコピーする
tests\googletest.build.cmd Google Test をビルドする
tests\compiletests.run.cmd コンパイルテストを実行する
build-sonar-qube-finish.bat SonarQube の解析結果をアップロードする
parse-buildlog.bat ビルドログを解析する
build-chm.bat compiled HTML ファイルをビルドする
build-installer.bat インストーラをビルドする
zipArtifacts.bat 成果物を zip ファイルにまとめる
calc-hash.bat 成果物のハッシュ値を計算する

関連情報

SonarQube に関しては こちら も参照してください。

呼び出し構造

ビルドに使用するバッチファイルの引数

バッチファイル 第一引数 第二引数
build-all.bat platform ("Win32" または "x64" または "MinGW") configuration ("Debug" または "Release")
build-sln.bat platform ("Win32" または "x64") configuration ("Debug" または "Release")
build-gnu.bat platform ("MinGW") configuration ("Debug" または "Release")
sakura\preBuild.bat HeaderMake.exe の実行ファイルのフォルダーパス なし
sakura\postBuild.bat platform ("Win32" または "x64") configuration ("Debug" または "Release")
parse-buildlog.bat msbuild のビルドログパス なし
build-chm.bat なし なし
build-installer.bat platform ("Win32" または "x64") configuration ("Debug" または "Release")
zipArtifacts.bat platform ("Win32" または "x64") configuration ("Debug" または "Release")
calc-hash.bat sha256 のハッシュ値の出力先ファイル ハッシュ値を計算するフォルダーパス

バッチファイルの仕組み

githash.bat の構造

処理の流れ

  • Git や CI の環境変数を元に githash.h を生成する
    • 設定される環境変数については こちら を参照してください。

postBuild.bat の構造

処理の流れ

  • リポジトリに登録している bregonig と ctags の zip ファイルを解凍して bregonig.dll と ctags.exe を sakura.exe のビルド出力先にコピーする

zipArtifacts.bat の構造

処理の流れ

  • if 文の条件判定を元に、成果物のファイル名、フォルダー名を構築して環境変数に設定する
    • 設定される環境変数については こちら を参照してください。
  • 作業用フォルダーに必要なファイルをコピーする
  • calc-hash.bat で sha256 のハッシュを計算して、作業用フォルダーにコピーする
  • tools\zip\zip.bat を使用して作業用フォルダーの中身を zip ファイルにまとめる
    • 7-Zip が利用できる場合は 7z.exe を、利用できない場合は PowerShell を利用してファイルを作成します。