« XPCOM サービスへの頻繁なアクセスを効率化するテクニック | Jetpack SDK 0.4 でのパッケージマニフェストの id プロパティの仕様変更 » |
Jetpack SDK 0.4 で cfx コマンドのユーザ定義オプションを設定する
Jetpack SDK 0.4 では、 cfx コマンド実行時に頻繁に使うオプションをあらかじめ local.json に記述しておき、 cfx コマンド実行時に簡単に呼び出すことが可能となりました。
cfx run のオプション
Jetpack SDK では、拡張機能を動作確認するときに「cfx run」コマンドを用いますが、このとき、通常のインストール先とは異なる Firefox を起動して実行したい場合に「-b」オプションを付加したり、指定したプロファイルから起動したい場合「-P」オプションを付加します。以下は testuser というプロファイルで Firefox 3.7 上で拡張機能の動作確認をする例です。
cfx run -a firefox -b "%ProgramFiles%Mozilla Firefox 3.7firefox.exe" -P "%appdata%MozillaFirefoxProfiles estuser"
cfx コマンドのユーザ定義オプション
前述のような長いオプションを毎回入力するのは面倒です。そこで、 Jetpack SDK 0.4 で導入された local.json に頻繁に使用するオプションを記述しておくと、 cfx コマンドから簡単に呼び出し可能となります。まず、 SDK の展開先フォルダ直下に local.json というファイルを作成し、下記のような内容を記述します。
{
"configs": {
"ff37": [
"-a", "firefox",
"-b", "C:Program FilesMozilla Firefox 3.7firefox.exe",
"-P", "C:UsersadminAppDataRoamingMozillaFirefoxProfilestestuser"
]
}
}
すると、 cfx コマンドの --use-config
オプションにより local.json に記載した ff37 という名前のユーザ定義オプションが有効になります。 --use-config=ff37
の代わりに -g ff37
としても構いません。
cfx run --use-config==ff37
もちろん cfx run だけでなく cfx xpi などでも同様の方式で local.json に定義したオプションを呼び出し可能です。なお、 local.json 内ではバックスラッシュを「」とエスケープすること、また Windows の環境変数は使用できないことにご注意ください。
cfx コマンドのデフォルトオプション
default という名前のユーザ定義オプションを記述すると、これは --use-config
オプション未指定時のデフォルトオプションとして自動的に呼び出されます。例えば、 local.json へ以下のように記述を追加します。
{
"configs": {
"default": [
"-a", "firefox",
"-P", "C:UsersadminAppDataRoamingMozillaFirefoxProfilestestuser"
],
"ff37": [
"-a", "firefox",
"-b", "C:Program FilesMozilla Firefox 3.7firefox.exe",
"-P", "C:UsersadminAppDataRoamingMozillaFirefoxProfilestestuser"
]
}
}
すると、単に cfx run
などを実行したとき、設定名 default で定義したデフォルトオプションが有効となります。