Masteries

技術的なことや仕事に関することを書いていきます.

小ネタ: 久々にMinillaでCPANモジュールをリリースする

papix.hatenablog.com

昨日Pull Requestを送ったRouter::Simple::Reversibleですが, サクッとcomaintをもらったのでMinillaでリリースすることにしました(id:motemenさんありがとうございます!). が, あまりに久々すぎて何もかも忘れてしまっていたので備忘録がてらやったことをメモしておきます.

.pauseの確認

まずは ~/.pause があるか確認します. ここには, PAUSEのユーザー名とパスワードを置いておきます.

user PAPIX
password XXXXXXXX

PAUSEはCPANモジュールをアップロードするときに使うアップロードサーバーです. Request PAUSE accountというメニューから, PAUSEのアカウントをリクエストすることができます(人力で認証しているので, リクエストしてから発行されるまで数日かかることがあります).

pause.perl.org

Minillaのインストール

Minillaで管理されているモジュールであれば, リリースにあたってMinillaそのものと, Version::Next, CPAN::Uploaderが要求されるのでインストールしておきます.

$ cpanm Minilla Version::Next CPAN::Uploader

必要に応じて以下のモジュールもインストールしておくとリリース前のテスト項目が増えて安心度が上がります.

$ cpanm Test::CPAN::Meta Test::MinimumVersion::Fast Test::PAUSE::Permissions Test::Pod Test::Spellunker

# 2021/01/11追記: 次のコマンドでもいけます (id:Songmu:detail さんありがとうございます!)
$ cpanm --with-recommends Minilla

リリース

あとは,

$ minil release

をすれば, Minillaがいい感じにガイドしてくれます. 簡単ですね!!!


...ということで, 先のPull Requestを盛り込んだRouter::Simple::Reversibleの0.02を無事にリリースすることができました. もうちょっとすればmetacpanなどにも反映され, 利用できるようになるのではないかと思います.

metacpan.org

追記 (2021/01/11)

id:Songmu さんより以下コメントがありました.

オプショナルな依存モジュールは、一個一個指定せずとも
% cpanm --with-recommends Minilla
で一撃で入れることができるのぢゃ。以下の記事にも書いてあるゾイ。
https://gihyo.jp/dev/serial/01/perl-hackers-hub/005001

--with-recommends !!! そういえばありましたね, 完全に忘れてました. 改めてPerl Hackers Hubの「Minillaを使ったモダンなCPANモジュール開発」を読んでキャッチアップしようと思います!!!

gihyo.jp