枕を欹てて聴く

香炉峰の雪は簾を撥げて看る

Chromium拡張作成: crxmake

f:id:Constellation:20090911211935p:image
以前作成したRuby Script
Chrome Extension Packaging Script - 枕を欹てて聴く
を整理してgemにし, 公開しました.

Constellation's crxmake at master - Github
http://github.com/Constellation/crxmake/tree/master

install


gem取得先にgithubを登録していない場合,

gem sources -a http://gems.github.com

として,

sudo gem install zipruby
sudo gem install Constellation-crxmake

とすることでinstallできます.


githubがgem作ってくれなくなったのでgemcutterに移行しました.
gem取得先にgemcutterを登録していない場合,

gem source -a http://gemcutter.org

として

sudo gem install zipruby
sudo gem install crxmake

でinstallできます.

commandline usage

commandlineからの使い方
コマンドとして, crxmakeがinstallされます.
example

crxmake --pack-extension="src" --extension-output="package/chromefullfeed.crx" --pack-extension-key="chromefullfeed.pem" --verbose

必須option

--pack-extension=
extensionのdirectoryを指定

可能なoption

--extension-output=
拡張(crx)の出力pathを指定(default: .crx)
--pack-extension-key=
すでにpemファイルを持っているなら指定
--key-output=
新しくpemファイルを作るときに, output pathを指定(default: .pem)
--ignore-file=
無視するファイルを指定する正規表現. Regexp.newでcompileされます. 例えば, --ignore-file="\\.swp$" としておけば, 拡張内にvimのswpファイルが入るのを除いたりできます.
--ignore-dir=
無視するディレクトリを指定する正規表現. これもRegexp.newでcompileされます. 例えば, --ignore-dir="^\\.(?:svn|git|cvs)$" としておけば, 拡張内にsvn/git/cvsのディレクトリが入るのを防いだりできます.
--verbose
冗長報告モードです.

ruby usage

すべてRubyで書かれているので, Rakefileなどに書いてRubyから使うことができます.

require 'rubygems'
require 'crxmake'
CrxMake.make(
  :ex_dir => "./src",
  :pkey   => "./test.pem",
  :crx_output => "./package/test.crx",
  :verbose => true,
  :ignorefile => /\.swp/,
  :ignoredir => /\.(?:svn|git|cvs)/
)

補足

別の環境でも使いたいというのと, Rakefileに書くときにいちいちpackage scriptごとrepositoryにいれるのは無駄だなと思ったのでgemにしました.