Minillaを触ってみる

Minillaを触ってみる

cpanm Minilla

minil new My::Mod

My-Modディレクトリが作られてその中にモジュールのテンプレートがさくせいされる。

githubにあたらしいリポジトリを作る

  • App::phつかうと便利らしいので入れる。
  • ディレクトリ名でリポジトリが作られる
    • p5-my-mod 等にディレクトリ名を変更しておくと吉
  • 最近のバージョンなら最初から設定(minil.toml)にname="My-Mod"ってかいてあるっぽい

足りないモジュール入れる

minil releaseする時に不足しているモジュール。cpanmで入れると良い。

  • Version::Next
  • CPAN::Uploader

ライセンスを変更すると Software::License もひつようらしい。

Minilla で Perl モジュールをつくる - Qiita

エラーログ1

$ minil release
Release engineering requires Version::Next, but it is not available. Please install Version::Next using your preferred CPAN client at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/Release/BumpVersion.pm line 16.

Minilla::Error::CommandExit at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/Logger.pm line 56.
Minilla::Logger::errorf("%s\x{a}", "Release engineering requires Version::Next, but it is not ava"...) called at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/CLI.pm line 60
Minilla::CLI::ANON("Release engineering requires Version::Next, but it is not ava"...) called at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Try/Tiny.pm line 115
Try::Tiny::try(CODE(0x7fb06481f840), Try::Tiny::Catch=REF(0x7fb064884db0)) called at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/CLI.pm line 63
Minilla::CLI::run(Minilla::CLI=HASH(0x7fb06481f6f0), "release") called at /Users/clicktx/.plenv/versions/5.20/bin/minil line 6

エラーログ2

$ minil release
Release engineering requires CPAN::Uploader, but it is not available. Please install CPAN::Uploader using your preferred CPAN client at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/Release/UploadToCPAN.pm line 11.

Minilla::Error::CommandExit at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/Logger.pm line 56.
Minilla::Logger::errorf("%s\x{a}", "Release engineering requires CPAN::Uploader, but it is not av"...) called at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/CLI.pm line 60
Minilla::CLI::ANON("Release engineering requires CPAN::Uploader, but it is not av"...) called at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Try/Tiny.pm line 115
Try::Tiny::try(CODE(0x7ff70980c840), Try::Tiny::Catch=REF(0x7ff7099343b0)) called at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/CLI.pm line 63
Minilla::CLI::run(Minilla::CLI=HASH(0x7ff70980c6f0), "release") called at /Users/clicktx/.plenv/versions/5.20/bin/minil line 6

CPANにアップロードしない設定にする

minil.toml に設定書けば上のエラーでないかも。

[release]
do_not_upload_to_cpan=true

バージョンを上げる時

  • Changesファイルを編集する。{{$NEXT}}のすぐ下に今回の変更点などを追記。
Revision history for Perl extension My-Mod

{{$NEXT}}
    - second version ←ここに追記する

0.01 2016-03-28T11:07:45Z
    - original version
  • minil release コマンドでバージョン上げる

My/Mod.pmのour $VERSION = "0.01";our $VERSION = "0.02";に自動で変更され、commitされる