gemのリリースをとっても簡単にする RTask を作りました

Gemifyがあまりに素晴らしいので、こんなに簡単にgemを作れるのならば、gemのリリースだって簡単でなければならないだろう、と思いました。そこでRubyForgeへのリリースをとってもとっても簡単に行なうための RTask というライブラリ/ツールを作成しました。

http://github.com/keita/rtask/tree/master

インストール

このプロジェクトはRubyForgeに申請したばかりなのでまだ承認が降りていませんので、残念ながらまだgemをリリースできていないのですが、皆様がご覧になる頃には次のようにしてインストールが出来るようになっているものと思います。

% sudo gem install rtask

リリースまでの手順

RTask の使い方は次のようになります。

まず rubyforge コマンドで login などを済ませておきます。この辺の設定はNewGemをこれまで使ったことのある人は既に済ませているかと思います。

次に、gemifyの設定を行ない、.gemified ファイルを作成しておきます。この手順は「Gemify はとってもとっても素晴らしいと思います!」をご覧下さい。ただしここでは"b"でgemを作っておいても作っておかなくても結構です。

これで下準備が整いました。まずはパッケージを作成します。

% rtask -p # もしくは rtask --package

これでお手元には #{package_name}-#{version}.gem 及び .tgz なパッケージが作成されていると思います。ここでリリースするバージョンを目で確認しておいて下さい。では最後の仕上げです。

% rtask -r # もしくは rtask --release

これでリリース作業が完了しました。rubyforge, gemify コマンドを除けば、たった二回コマンドを打ち込むだけでリリース完了です!簡単!

Rakefileに仕込む

以上でRTaskによるリリース作業は終わりなのですが、こうした作業をRakeを使って行ないたい場合もあると思います。こっちの方も簡単ですし、もっと色々なことが出来ます。

まず、Rakefileに次のように書いておきます。

require "rubygems" 
require "rtask" 

RTask.new

こうすると、

% rake -T
rake clean         # Remove any temporary products.
rake clobber       # Remove any generated file.
rake clobber_rdoc  # Remove rdoc products
rake gem           # Create the gem package
rake publish       # Upload API documentation
rake rdoc          # Build the rdoc HTML Files
rake release       # Release new gem version
rake rerdoc        # Force a rebuild of the RDOC files
rake tgz           # Create the tgz package

のように task が追加されます。リリースの手順は rake gem tgz の次に rake release するだけで、これは先程とほとんど変わりません。ただし、Rake版ではAPIドキュメントを作成するのも簡単です。

% rake rdoc

とすると、htmlというディレクトリが作成され、また

% rake publish

とすると、プロジェクトのホームにAPIドキュメントをアップロードします。これならドキュメントの公開まで簡単です。以上です、何から何まで簡単でしょ?

ちなみに

RTask は Release Task を縮めたものです。最初はそのままReleaseTasksとかいう名前にしようかと思ったんですが、どうせこういうツールが欲しい人は面倒くさがり屋さんに違いないから一文字でも短い方が良いだろうと思ってRTaskになりました。gemパッケージのアップロードが面倒な人は是非使ってみて下さい。まだまだ荒削りなツールなので細かいところで不備があろうかと思いますが、地味に改良して行く予定ですので、なにとぞよろしく。