from jeweler to bundler
2009/01くらいから自作のgemの管理にはjewelerを使ってきたのですが、この度selectable_attrのruby-1.9.2対応をするのを景気にbundlerを使うようにしてみました。
結果、とてもいい感じなので今後はbundlerへどんどん乗り換えたいと思います。
動機 gemの開発環境構築を簡単にしたい
数ヶ月に1回とかひどいと年に1回くらいしかメンテしないgemの場合、だいたいテストやビルドするための
環境は毎回作り直す感じなので、簡単に開発環境を作りたいところなのですが、jewelerではその機能はありません。
いや、あるのかもしれないけど、rails3でbundle installでたいてい一発でインストールできることを体感してしまったので、
やっぱりbundle installで必要なgemをインストールしたいというのが一番大きな動機です。
手順
1. Rakefile
http://github.com/akm/selectable_attr/blob/master/Rakefile
2. Gemfile
参考
http://github.com/akm/selectable_attr/blob/master/Gemfile
個人的には、
:testのグループは、gemのユーザーが動作がうまくいかないときに動作確認のためにrake specを実行するためのgemを定義します。
:developmentのグループは、開発者が普段使用するgemを記述します。
3. spec/spec_helper.rb
https://github.com/akm/selectable_attr/blob/master/spec/spec_helper.rb
現時点でruby-1.9.2でrcovを動かすためには、 http://d.hatena.ne.jp/nedate/20101004/1286183882 で紹介されているパッチを適用しなければなりません。
やってみて思ったこと
jewelerになれているので、バージョンをどう上げるのか迷ったんですが、そのまま.gemspecを自分で変えれば良いみたい。
依存関係が増えたときに、jewelerが生成してくれていた.gemspecの記述を自分で書かなきゃならないので、ちょっと不安。
でもやっぱりスッキリできて良かった。