May 05, 2007

拡張機能のビルド用のシェルスクリプト書いた

拡張機能のファイル群からXPIパッケージを自動的に生成するバッチファイルを、須藤さんの書いたスクリプトとにらめっこしながらシェルスクリプトに移植してみた

元々バッチファイルもシェルスクリプトもよくわかってなくて、chmodを使う必要があったことからcygwinを入れざるを得なかった関係上、各コマンドの名前がWindows用の物なのかsh用の物なのかよくわかってなかったんだけど、あれこれぐぐりながら情報かき集めて、どうにかこうにか動く物になってくれた。

一応使いかたを説明しておくと、以下のような感じ。

まず、ファイルの配置が以下のようになっていることを前提にしています。

  • myextension.sh(件のスクリプトをリネームしたもの)
  • install.rdf
  • chrome.manifest
  • [defaults]
  • [components]
  • [content]
  • [locale]
  • [skin]

この状態でmyextension.shを実行すると、myextension.jarという名前のファイルを勝手に生成してchromeフォルダに入れた上で、マニフェストファイルやdefaults, componentsがある場合はそれもまとめて、myextension.xpiという名前のインストーラパッケージをこのディレクトリに吐き出してくれます。なお、jarを作りたくない場合は、content, locale, skinの代わりにchromeフォルダを置いておくと、そっちの中身をそのままXPIに格納します。

生成するパッケージの名前は、シェルスクリプト自身の名前から勝手に判断します。もし手動でパッケージ名を指定したい場合は、./make_new.sh myextensionてな感じに、引数としてパッケージ名を与えてください。

Subversionの利用を視野に入れた物なので、.svnとかのフォルダは、生成されるパッケージの内容からは除外されます。

エントリを編集します。

wikieditish message: Ready to edit this entry.











拡張機能