はじめに
ここでは、コマンドラインでアドオンを開発するための環境構築について説明する。 Web ブラウザ上での開発については Add-ons Builder を参照。 OS は Windows 前提。
準備
Python 2.5 以降と、Firefox 4.0 以降をインストールする。
コマンドプロンプトで「python --version」と入力して、 バージョン番号が 2.5、2.6 であれば OK。 Python 2.7 は ドキュメントには明記されていないが、実際には問題なく動作する。 Python 3.x では正しく動作しない。 Python がインストールされていない場合は Python のホームページ から 2.6 系のインストーラをダウンロードし、インストールしてパスを設定する。
D:\> python --version
Python 2.6.6
D:\>
Add-on SDK は Add-on Developer Hub からダウンロードし、適当な場所に展開しておく。
アクティベート
コマンドプロンプトで Add-on SDK を展開したフォルダに移動し、「bin\activate」を実行する。 これにより ...\bin フォルダがコマンドプロンプトのパスに加えられ、後述の cfx コマンドが利用可能となる。 インストール直後だけでなく、Add-on SDK によるアドオン開発時には最初に bin\activate を実行する。 環境を元に戻すには「deactivate」を実行する。
D:\> cd D:\addon-sdk
D:\addon-sdk>bin\activate
Welcome to the Add-on SDK. Run 'cfx docs' for assistance.
(D:\addon-sdk) D:\addon-sdk>
SDK の動作確認
Add-on SDK が正しくインストールされていることを確認するため、「cfx」コマンドを実行する。 コマンドの使い方の説明が表示されれば、Add-on SDK は正常に動作している。
(D:\addon-sdk) D:\addon-sdk> cfx
Usage: cfx [options] command [command-specific options]
Supported Commands:
docs - view web-based documentation
init - create a sample addon in an empty directory
test - run tests
run - run program
xpi - generate an xpi
Internal Commands:
sdocs - export static documentation
testcfx - test the cfx tool
testex - test all example code
testpkgs - test all installed packages
testall - test whole environment
Experimental and internal commands and options are not supported and may be
changed or removed in the future.
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-v, --verbose enable lots of output
Supported Command-Specific Options:
-b BINARY, --binary=BINARY
path to app binary (run, test, testall, testex,
testpkgs)
--binary-args=CMDARGS
additional arguments passed to the binary (run, test)
--dependencies include tests for all deps (test, testall, testex,
testpkgs)
--extra-packages=EXTRA_PACKAGES
extra packages to include, comma-separated. Default is
'addon-kit'. (run, test, testall, testcfx, testex,
testpkgs, xpi)
-f FILENAME[:TESTNAME], --filter=FILENAME[:TESTNAME]
only run tests whose filenames match FILENAME and
optionally match TESTNAME, both regexps (test,
testall, testex, testpkgs)
-g CONFIG, --use-config=CONFIG
use named config from local.json (run, test, testall,
testex, testpkgs, xpi)
-p PROFILEDIR, --profiledir=PROFILEDIR
profile directory to pass to app (run, test, testall,
testex, testpkgs)
--package-path=PACKAGEPATH
extra directories for package search (run, test, xpi)
--pkgdir=PKGDIR package dir containing package.json; default is
current directory (run, test, xpi)
--static-args=STATIC_ARGS
extra harness options as JSON (run, xpi)
--templatedir=TEMPLATEDIR
XULRunner app/ext. template (run, xpi)
--times=ITERATIONS number of times to run tests (test, testall, testex,
testpkgs)
--update-link=UPDATE_LINK
generate update.rdf (xpi)
--update-url=UPDATE_URL
update URL in install.rdf (xpi)
Experimental Command-Specific Options:
-a APP, --app=APP app to run: firefox (default), fennec, fennec-on-
device, xulrunner or thunderbird (run, test, testall,
testex, testpkgs)
--force-mobile Force compatibility with Firefox Mobile (run, test,
testall, xpi)
--harness-option=KEY=VALUE
Extra properties added to harness-options.json (xpi)
--mobile-app=MOBILE_APP_NAME
Name of your Android application to use. Possible
values: 'firefox', 'firefox_beta', 'fennec_aurora',
'fennec' (for nightly). (run, test, testall)
--no-run Instead of launching the application, just show the
command for doing so. Use this to launch the
application in a debugger like gdb. (run, test)
--no-strip-xpi retain unused modules in XPI (xpi)
--stop-on-error Stop running tests after the first failure (test,
testex, testpkgs)
Internal Command-Specific Options:
--addons=ADDONS paths of addons to install, comma-separated (run,
test, testall, testex, testpkgs)
--baseurl=BASEURL root of static docs tree: for example:
'http://me.com/the_docs/' (sdocs)
--e10s enable out-of-process Jetpacks (run, test, testex,
testpkgs)
--keydir=KEYDIR obsolete, ignored (run, test, testall, testex,
testpkgs, xpi)
--logfile=LOGFILE log console output to file (run, test, testex,
testpkgs)
--profile-memory=PROFILEMEMORY
profile memory usage (default is false) (test,
testall, testex, testpkgs)
--test-runner-pkg=TEST_RUNNER_PKG
name of package containing test runner program
(default is test-harness) (test, testall, testex,
testpkgs)
ドキュメント
コマンドプロンプトで「cfx docs」を実行すると、現在の Add-on SDK 環境のドキュメントをブラウザで表示できる。 cfx docs を使うことで、 https://addons.mozilla.org/en-US/developers/docs/sdk/latest/ で公開されているドキュメントに加え、packages ディレクトリに追加したライブラリのドキュメントも参照できる。
(D:\addon-sdk) D:\addon-sdk> cfx docs
Generating documentation...
(D:\addon-sdk) D:\addon-sdk>
次のステップ
関連リンク
更新履歴
- 2012/05/08: SDK 1.6.1 の情報で更新。
- 2011/05/29: SDK 1.0b5 の情報で更新。
- 2010/11/27: SDK 0.10 で Python のバージョンが 2.6 もしくは 2.7 と明記されたため記述を修正。
- 2010/11/17: cfx testall は時間がかかるため、インストール確認手段からは除外された。
- 2010/10/29: SDK 0.10 以降ではアクティベートは不要となる見込み。
- 2010/10/24: SDK 0.9 は Python 2.7 で動作するようになったため記述を更新。
- 2010/08/20: pkg_resources への依存は除去されたので記述を削除。
- 2010/08/15: 初版作成。