さきほどHTTP::MobileAgentの0.27をCPANにアップしました。

HTTP::MobileAttributeがものすごい勢いで開発がすすんでいる今、
なんとなく寂しい今日この頃なのですが、とりあえずDoCoMoのguidに対応した次第です。

で、話の本題はこっちじゃなくて、今回のCPANアップでShipItを初体験しました。

ShipItはなにかってーと、svnやsvkやgit(?)などで管理しているCPANモジュールをさくっとCPANへアップするためのモジュールです。

どうやるかっていうと、ShipItがインストールされててかつ設定ファイルなどがちゃんと設定されていれば、コマンドラインでshipitと打つだけ!あとはShipItが勝手にリポジトリに適切なリリースタグをつけてくれて、CPANへのアップまでやってくれちゃうというすばらしいものです。

Brad++

とりあえずインストールしなきゃいけないのは、ShipItとcpan-upload-httpです。両方ともCPANにあります。
そして設定ファイルとしてはアップしたいCPANモジュールのリポジトリのtrunkとかに .shipit ってファイルを作ってやり、以下のように書きます。

steps = CommitMessageWrap, FindVersion, ChangeVersion, CheckChangeLog, DistTest, Commit, Tag, MakeDist, UploadCPAN
svn.tagpattern = http://svn.coderepos.org/share/lang/perl/HTTP-MobileAgent/tags/release-%v
commit_message.format = lang/perl/HTTP-MobileAgent: %msg
CheckChangeLog.files = Changes

このstepsってのがCPANにアップするまでにする仕事で、svn.tagpatternが打つタグの場所を指定するもの(release-%vだけでもいいかも)、あとは適当に。ちなみにHTTP::MobileAgentはchange logが「Changes」というファイル名だったので、CheckChangeLog.filesを指定しましたが、CHANGESという名前だったらこの設定はいりません。たぶん。(追記:はてブでYappoさんが言ってますが、「Changes」ならこれを設定しなくてもいけるとのことです)

あともう1つcpan-upload-httpのために、自分のホームディレクトリに .pause っていうファイルを 600 というパーミッションで作っておいて、内容を以下のようにしておきます。

user kurihara
password yourpassword

これができれば、あとは該当のモジュールのtrunkとかでshipitと打つだけです。

関連リンク:
超クールな CPAN リリースツール 1 選。ShipIt がスバラシイ件
ShipItつかわなくて良いのは小学生まで
ShipItを使うときに注意したい7つのポイント