最近は Perl を勉強していて、続・初めてのPerl 改訂第2版 を読んでいたりしました。 最後の方の練習問題で CPAN にモジュールをアップロードするのがあったので、お遊びのモジュールを公開してみた。
姉
— 柴崎優季 (@shiba_yu36) 2015, 2月 17
題材はなんでも良かったので、さいきん話題の姉を作ってみた。
PAUSE への登録
モジュールを CPAN に公開するには、PAUSE (The [Perl programming] Authors Upload Server) への登録が必要。名前の通りこのサーバーにモジュールをアップロードすることになる。
Request PAUSE account から必要な情報を入力して、しばらく待つと登録が完了した旨のメールが届く。そこに記載されている初期パスワードを使ってログインしてパスワードを変更しておく。登録時に入力した Desired ID
がユーザ名になるみたい。
cpan.org
のメールアドレスが発行されるが、単体では受け取れないのでプロフィールページから転送設定をしておく。このアドレスで Gravatar とか登録する必要があるので転送設定は必須。(参考: こんな僕が CPAN Author (一応) になるまで。 - (゚∀゚)o彡 sasata299's blog)
モジュールを作る
Minilla を使うとひな形の作成からビルドまでやってくれて楽ちん。
$ cpanm Minilla $ minil new Acme::Ane $ vim lib/Acme/Ane.pm # and so on $ minil test
コードを書いて、ドキュメントとテストも書いたら公開準備をする。
Changes
のバージョンは自動で更新されるので書かない。{{$NEXT}}
にリリース時のバージョンが入るので、その下に変更点を書いておくと良さそう。
git add
されていないファイルはビルドの対象にならないので、テストもされないというのにはまったので注意したい。
公開
まずは PAUSE のユーザー設定を ~/.pause
に作成する。
Config::Identity で読み込まれるので書き方は以下のようにする。
user USERNAME password your_secret_password
これで準備が整ったのでリリースする。
$ minil release
バージョンがこれであってるか聞かれて、最後に CPAN にアップロードするか聞かれる。
完了するとタグを作ってくれて push
までやってくれる。もちろん PAUSE へのアップロードも完了している。
しばらく待つと PAUSE にインデクスされた旨のメールが届いて、MetaCPAN にも表示される。
補足
本当は公開前に PrePAN と呼ばれるサイトに投稿して、識者のレビューを受けるのが良いとのこと。(参考: 「 DISられないCPANizeを目指して (PrePAN - Introduction to a website to request for reviews of Perl modules)」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15])
公開したモジュール
妹なのに姉になれて便利。
use Acme::Ane; my $imouto = Imouto->new; my $ane = Acme::Ane->new($imouto); if ($ane->is_ane) { say "姉"; }
ユーザーの声
今すぐプロダクションで使いたい / “Acme-Ane-0.01 - Ane means big sister. - http://t.co/rBMZRYkdji” http://t.co/1GunH9UgNU
— 趣味はマリンスポーツです (@hitode909) 2015, 2月 18
追記
妹も出来ました。