2009-05-22
■ [ruby][git] gemspecの作り方がわからない?ならばjewelerだ
githubなりrubyforgeなりでgemを公開するときに必要となるのがgemspecファイルですけれども、 これは手書きするのははっきりいってめんどい。それをなんとかしてくれるgithubおすすめの ツールができたらしい。
その名もjeweler。
使い方は上のページに書いてあるけど、Rakefileに
begin require 'jeweler' Jeweler::Tasks.new do |gemspec| gemspec.name = "the-perfect-gem" gemspec.summary = "TODO" gemspec.email = "josh@technicalpickles.com" gemspec.homepage = "http://github.com/technicalpickles/the-perfect-gem" gemspec.description = "TODO" gemspec.authors = ["Josh Nichols"] end rescue LoadError puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com" end
みたいに追記するだけ。そうしたら、
$ rake version:write $ rake version_required
でVERSIONファイルを初期化する。(あ、人によってはこの・へんの作業が必要になるかも)
あとは、
$ rake gemspec
でgemspecファイルができて、
$ rake build
でpkg/以下にgemがビルドされる。さらには
$ rake release
というコマンドがあって、これはgemspecを作り、タグを切って、githubにpushまでしてくれる。楽ちんですね。
バージョン番号を上げるときは
$ rake version:bump:major $ rake version:bump:minor $ rake version:bump:patch
のいずれかを使う。
gemspecの内容のいじり方はWiki参照。
(追記:githubで公開するときは、リポジトリの設定で「RubyGem」を有効にするのを忘れずに^^; gemstalkerを入れておくと、 $ gemstalk yhara lifelog とかでgithubでgemが公開されたときに教えてくれるようだ。)