Documentation

運用・ビルド・リリース自動化ガイド (Operation Guide)

FJ Flow のバージョン管理、コンパイル(.exe 化)、および Windows Store (MSIX) パッケージング前処理を行う PowerShell スクリプト群の仕様と運用手順書です。...

FJ Flow のバージョン管理、コンパイル(.exe 化)、および Windows Store (MSIX) パッケージング前処理を行う PowerShell スクリプト群の仕様と運用手順書です。


🛠️ 自動化スクリプト一覧

スクリプト名 役割・概要 主な引数・オプション
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 アプリやストア用のアイコン・画像アセットを自動変換・生成 なし

🚀 リリース・運用手順(ステップ・バイ・ステップ)

新しいバージョンをリリースする際は、以下の 3ステップ で全自動化された運用が可能です。

ステップ 1: リリースノートの編集

RELEASE_NOTES.txt を開き、1行目に新バージョン番号、2行目以降に更新内容を記入します。

Version: 1.2.0

・〇〇機能を追加しました
・△△のパフォーマンスを改善しました
・UIレイアウトの表示不具合を修正しました

ステップ 2: バージョン同期&自動ビルドの実行

PowerShell で以下のコマンドを実行します。

.\update_version.ps1
  • 動作内容:
    1. RELEASE_NOTES.txt から 1.2.0 をパース。
    2. fjFlow.ahk 内の AppVersion を 1.2.0 に自動書き換え。
    3. build.ps1 を呼出し、build\ ディレクトリに fjFlow_Free.exe および fjFlow_Pro.exe をコンパイル出力。

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

ストアに提出するための MSIX 用パッケージ準備を行います。

.\prepare-msix.ps1
  • 動作内容:
    1. build\ 内の最新 .exe ファイルを msix_build_free\ および msix_build_pro\ ディレクトリに自動配置。
    2. この後、MSIX Packaging Tool や MakeAppx.exe で即座に .msix をパッケージングできます。

📖 各スクリプトの詳細仕様とコマンド例

1. update_version.ps1

バージョン同期スクリプト。直接 .ahk ファイルを書き換えることなく、RELEASE_NOTES.txt からバージョンと更新内容を自動同期します。

  • ビルドを行わずにバージョン同期のみ実行する場合:
    .\update_version.ps1 -Build:$false

2. build.ps1

Ahk2Exe コンパイラを使用して、AutoHotkey v2 スクリプトをスタンドアロン .exe にパッケージングします。

  • フリー版のみビルドする場合:
    .\build.ps1 -Edition free
  • プロ版のみビルドする場合:
    .\build.ps1 -Edition pro

3. prepare-msix.ps1

MSIX Packaging Tool 等でストア用パッケージ (.msix) を作成する前の前処理を行います。

  • プロ版の MSIX 準備のみ行う場合:
    .\prepare-msix.ps1 -Edition pro

⚠️ 運用上の注意点と文字コード規約

  1. 文字コードの固定(UTF-8)
    • すべてのスクリプトおよび RELEASE_NOTES.txt は UTF-8(BOMなし推奨) で保存されています。PowerShell で手動修正する際は、必ず -Encoding UTF8 を指定してください。
  2. 実行ポリシーエラーが発生した場合
    • スクリプトの実行がブロックされる場合は、以下のように -ExecutionPolicy Bypass を付与して実行してください。
    powershell -ExecutionPolicy Bypass -File .\update_version.ps1
  3. Git 操作
    • ビルド完了後のローカルコミットまでを自動化の対象とし、リモートリポジトリへの git push は認証ハング防止のため、対話型ターミナルから手動で実行してください。