CPAN AuthorならShipIt!
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つのポイント