手動ビルド
Wails CLIは、プロジェクトに関する様々な面倒な作業を担ってくれていますが、ときにはプロジェクトを手動でビルドできたほうが望ましい場合もあるでしょう。 このドキュメントでは、CLIが実行する多くの操作や、これらの操作を別の手段で実現するための方法について説明します。
ビルドプロセス
Wails CLIは、wails buildコマンドまたはwails devコマンドが使用されると、共通のビルドプロセスを実行します:
- フロントエンド依存関係のインストール
- フロントエンドのビルド
- ビルドアセットの生成
- アプリケーションのコンパイル
- [任意] アプリケーションの圧縮
フロントエンド依存関係のインストール
CLIが実行する手順
-sフラグが指定された場合、この手順をスキップします。wails.jsonファイル内で、frontend:installキーにインストールコマンドが記述されているかを確認します。- 記述されていない場合、この手順をスキップします。
- 記述されている場合、フロントエンドディレクトリ内に
package.jsonファイルが存在するか確認します。 存在しない場合、この手順をスキップします。 package.jsonファイルの内容をもとに、MD5チェックサムを生成します。package.json.md5ファイルが存在するか確認し、存在する場合は、さきほど生成したMD5チェックサムと比較して、内容が変更されていないかどうかを確認します。 内容が同じ場合、この手順をスキップします。package.json.md5ファイルが存在しない場合、ファイルを作成し、さきほど生成したMD5チェックサムを書き込みます。- この時点でビルドが必要と判断された場合、
node_modulesディレクトリが存在しない場合、または-fフラグが指定された場合は、フロントエンドディレクトリ内でインストールコマンドを実行します。
手動で実行する手順
コマンドライン、またはnpm installのスクリプトを用いて、この手順を実行してください。
フロントエンドのビルド
Wails CLIでの手順
-sフラグが指定された場合、この手順をスキップします。wails.jsonファイル内で、frontend:buildキーにビルドコマンドが記述されているかを確認します。- 記述されていない場合、この手順をスキップします。
- 記述されている場合、フロントエンドディレクトリ内でコマンドが実行さ れます。
手動で実行する手順
コマンドライン、npm run buildのスクリプト、またはフロントエンドのビルドスクリプトを用いて、この手順を実行してください。
アセットの生成
Wails CLIでの手順
-nopackageフラグが指定された場合、この手順をスキップします。build/appicon.pngファイルが存在しない場合、デフォルトのファイルを作成します。- Windowsの場合、Windowsバンドルの節を参照してください。
build/windows/icon.icoファイルが存在しない場合、build/appicon.png画像ファイルから新規作成します。
Windows
build/windows/icon.icoファイルが存在しない場合、build/appicon.pngファイルをもとに、256、128、64、48、32、16サイズのアイコンを新規作成します。 この処理はwiniconによって実現しています。build/windows/<projectname>.manifestファイルが存在しない場合、デフォルトバージョンから新規作成します。- アプリケーションを本番ビルドとしてコンパイルします(上記のとおり)。
- winresを使用して、アイコンとマニフェストをリンクできる
.sysoファイルにバンドルします。
手動で実行する手順
- winiconのCLIツール(または他の任意ツール)を使用して、
icon.icoを作成します。 - アプリケーションの
.manifestファイルを作成または更新します。 - winres CLIを使用して、
.sysoファイルを生成します。