公式マニュアル

運用・ビルド・リリース自動化手順書 (Operation Guide)

fjFlow のバージョン管理、スタンドアロン実行ファイル(.exe)のコンパイル、および Windows Store (MSIX) パッケージング前処理を行う PowerShell スクリプト群の実...

バージョン同期から自動コンパイル、ストア申請用パッケージ準備までの完全運用手順

fjFlow のバージョン管理、スタンドアロン実行ファイル(.exe)のコンパイル、および Windows Store (MSIX) パッケージング前処理を行う PowerShell スクリプト群の実行手順書です。


目次


1. 自動化スクリプトの概要

リポジトリルートに配置されている以下のスクリプトを使用して、リリース作業を自動化します。

スクリプト名 役割と動作 主なオプション
update_version.ps1 RELEASE_NOTES.txt からバージョンと更新内容を抽出し、スクリプトへの同期と自動ビルドを一括実行 -Build:$true (既定) / -Build:$false
build.ps1 Ahk2Exe コンパイラを用いて .ahk から fjFlow_Free.exe / fjFlow_Pro.exe を生成 -Edition "all" (既定) / "free" / "pro"
prepare-msix.ps1 最新ビルド成果物を msix_build_free / msix_build_pro へ自動配置 -Edition "all" (既定) / "free" / "pro"
tools/generate_assets.ps1 アプリやストア用のアイコン・画像アセットを自動生成 なし

2. 新バージョンをリリースする手順 (3ステップ)

新しいバージョンをビルド・リリースする標準的な手順です。

ステップ 1: リリースノートを編集する

  1. リポジトリ直下の RELEASE_NOTES.txt をテキストエディタで開きます。
  2. 1行目に新バージョン番号、2行目以降に更新内容を記入して保存します。
Version: 1.2.0

・キー拡張機能の応答速度を向上しました
・UIヒントに拡大鏡グリッド機能を追加しました
・設定GUIのレイアウト崩れを修正しました

ステップ 2: バージョン同期と自動ビルドを実行する

PowerShell ターミナルを開き、以下のコマンドを実行します。

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; .\update_version.ps1

実行結果:

  1. RELEASE_NOTES.txt からバージョン番号(例: 1.2.0)が抽出されます。
  2. fjFlow.ahk 内のバージョン定義変数(AppVersion)が新バージョンへ自動更新されます。
  3. build.ps1 が自動実行され、build\ ディレクトリに fjFlow_Free.exe および fjFlow_Pro.exe がコンパイル出力されます。

ステップ 3: Windows Store (MSIX) パッケージ用ディレクトリを準備する

MSIX Packaging Tool でパッケージングするための作業ディレクトリを準備します。

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; .\prepare-msix.ps1

実行結果:

  • build\ ディレクトリ内の最新 .exe ファイルが、msix_build_free\ および msix_build_pro\ ディレクトリへ自動配置されます。
  • これにより、MSIX Packaging Tool や MakeAppx.exe を用いて即座に .msix ファイルを生成できます。

3. 個別スクリプトの詳細オプションと実行手順

3.1 update_version.ps1 (バージョン同期のみ実行)

コンパイルを行わず、コード内のバージョン定義のみを更新する手順です。

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; .\update_version.ps1 -Build:$false

3.2 build.ps1 (エディション個別ビルド)

特定のバージョンのみをコンパイルする手順です。

  • フリー版のみビルドする場合:
    [Console]::OutputEncoding = [System.Text.Encoding]::UTF8; .\build.ps1 -Edition free
  • プロ版のみビルドする場合:
    [Console]::OutputEncoding = [System.Text.Encoding]::UTF8; .\build.ps1 -Edition pro

3.3 prepare-msix.ps1 (MSIX前処理のみ実行)

プロ版のストアパッケージ準備のみを実行する手順です。

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; .\prepare-msix.ps1 -Edition pro

4. トラブルシューティングと運用規約

4.1 文字コードの厳守 (UTF-8)

  • すべてのスクリプトファイルおよび RELEASE_NOTES.txt は UTF-8 (BOMなし) で保存します。
  • PowerShell 内でファイル操作を行う際は、必ず -Encoding UTF8 を明示します。

4.2 PowerShell スクリプトの実行権限エラーが出た場合

  • 実行ポリシー(ExecutionPolicy)のエラーが表示された場合は、以下のコマンドでポリシーを一時バイパスして実行します:
    powershell -ExecutionPolicy Bypass -File .\update_version.ps1

4.3 Git コミットとプッシュの運用

  • ビルド完了後の変更確認およびローカルコミット(git add, git commit)を実行します。
  • リモートへの git push は、対話型ターミナルから直接手動で実行します(認証プロンプトによるハングアップを防止するため)。