Jetpack SDK 0.4でcfx testallを成功させる方法 (windows)

Jetpack SDK 0.4がリリースされたし、いっちょSDKを試してみるかという人向けのエントリー。
動作環境は Vista, Python 2.6.4

公式ドキュメント Jetpack SDK Docsはこちら Jetpack SDK Documentation


追記
まとめ:Firefoxがインストールされたフォルダをpathに入れておくと楽だよ。



まずSDKをダウンロードしたら正常に動作するか確認するために cfx testall というコマンドでテストをパスする必要があります。そこまでの流れは、

  1. SDKのフォルダに移動
  2. bin\activate
  3. cfx testall

で完了のはずですが、うちの場合は cfx testall を実行した際にエラーが出ました。(bin\activateのエラーメッセージは動作に影響が無いので気にしなくてよい)

J:\jetpack-sdk-0.4\python-lib\cuddlefish\__init__.py:563: DeprecationWarning:
BaseException.message has been deprecated as of Python 2.6
if e.message.startswith(MOZRUNNER_BIN_NOT_FOUND):
I can't find the application binary in any of its default locations
on your system. Please specify one using the -b/--binary option.

このエラーは複数のバージョンのFirefoxThunderbird、Xulrunnerがインストールされている場合に起こるようです。
これを回避するには、-bオプションでfirefox.exeがある場所(Path)を指定してください。Pathにスペースが含まれる場合はダブルクォーテーション("")で囲む必要があります。
cfx -b "J:\Program Files\Mozilla Firefox\firefox.exe" testall


モジュールテストやxpiに出力する際もbinaryオプションを使う必要があるので、Firefoxをインストールしたフォルダ(うちの場合は J:\Program Files\Mozilla Firefox;)を環境変数のPathに追加しておくと毎回入力する手間が省けて便利です。(Pathを書き換えたらcmdの再起動を忘れずに)


cfx testall が済んだら公式ドキュメントと合わせてswdyhさんのエントリーを参考にチュートリアルを進めるのがオススメ。

メモ

  • bin\activateSDKのフォルダを一時的に環境変数Pathに登録している。activateの前と後でpathコマンドを打てば確認できる。解除はdeactivate。
  • binaryはexeファイルのこと。
  • Jetpack SDK Docsのレイアウトがシンプル過ぎてどれがコードなのかわからないストレス。Stylishを書いてみたらかなり改善された。

@namespace url(http://www.w3.org/1999/xhtml);

@-moz-document url-prefix("https://jetpack.mozillalabs.com/sdk/") {
  code {
    background-color: lightcyan !important;
  }
}


httpsstylishが使えないChrome用にブックマークレット書いた。上のcssと同じ効果。

感想

解決してみると、なんだそんなことかよ!って感じですね。
ヘルプに答えてくれた方、特にadwに感謝。ギャーギャー騒いで貴重なお時間を割いてしまってすいません。ブログに書くことで恩返し。