パッケージのビルド
あなたが作成したスクリプトをAlicePackage形式のアプリケーションとして展開するには、AlicePackage形式にビルドする必要があります。 AlicePackageは、さまざまなスクリプトやリソース、パッケージ、ライブラリをまとめた書庫と考えることができます。詳しく知るにはAlicePackageの記事を参照してください。パッケージをビルドするには、次の方法のいずれかを取ることができます。
- IceBuildを使用する
- ビルドスクリプトを一から作成する
この記事では、まず初めに簡単にパッケージをビルドすることができるツールである、IceBuildを使用する方法を解説し、次にビルドスクリプトを一から作成してビルドする方法について触れます。
IceBuild
AlicePackage Build Engineは、AlicePackage形式のアプリケーションをビルドするためのプラットフォームです。IceBuildとも呼ばれるこのエンジンは、パッケージを処理およびビルドする方法を制御する方法を提供します。
ディレクトリに対してicebuild.iceを実行するとAlicePackageを簡単に出力できます。
使用法
IceBuildを使用するには、適切なコマンドライン引数とともに、適切なディレクトリ名をicebuild.iceに渡します。例えば、ディレクトリTestPkgからTestPkg.iceをビルドするには、次のコマンドを使用します。
icebuild.ice TestPkg -out:TestPkg.ice
.iceファイルをコマンドプロンプトから実行できるようにするには、チュートリアル:iceファイルの関連付けを参照してください。
ビルドスクリプトを一から作成する
また、Alice.Packaging名前空間にあるクラスを使用して自分で一からパッケージをビルドするスクリプトを作成することもできます。
ディレクトリをAlicePackage形式にビルドする手順は、主に次の通りです。
manifest.xmlを含むビルド対象のディレクトリをZip形式で圧縮する- 1のファイルをAlicePackage形式に変換する
このままでもAlicePackage形式として実行可能ですが、パッケージ化前に少なくともパッケージマニフェストファイルの簡易チェックをすることを強く推奨します。ユーザーおよび開発者はAlicePackageに正しい内容のパッケージマニフェストファイルが含まれていることを期待します。 次の例はビルドスクリプトの一例です。
import “Alice.IO”;
import “Alice.Packaging”;
const SourcePath = “{ソースディレクトリのパス}”;
const TargetPath = “{出力ファイルのパス}”;
//パッケージマニフェストファイルのパス
var manifestPath = Path_Combine(SourcePath,”manifest.xml”);
//ソースディレクトリとパッケージマニフェストファイルの存在を確認
if(!(Directory_exists(SourcePath) && File_Exists(manifestPath)))
{
throw(“エラー:ソースディレクトリが存在しないか、パッケージマニフェストファイルが存在しません”);
return;
}
//パッケージマニフェストファイルの簡易チェック
if(Package_GetManifest(File_get_text(manifestPath)) == null)
{
throw(“エラー:パッケージマニフェストファイルが不正な形式です”);
return;
}
//Zipファイルの出力に使用する一時的なファイルパス
var tempPath = Path_GetTempFileName(true);
print(“圧縮: {0} -> {1}”,SourcePath,tempPath);
//ソースディレクトリをZip形式で圧縮
Zip_CreateFromDirectory(SourcePath,tempPath);
print(“変換: {0} -> {1}”,tempPath,TargetPath);
//圧縮したZipファイルからAlicePackageファイルを生成
Package_CreateFromZipFile(tempPath,TargetPath);
print(“パッケージのビルドが完了しました”);