Tag: Minilla



2016年 4月 7

amon2-setup.pl --flavor=Large MyApp で作成したLarge flavorのAmon2アプリのリリース管理にMinillaを使ってみようとしらうまくいかなかったので試行錯誤してみた。

まずはMinillaに最適化

minil migrate

Minillaで管理するのに必要なファイルの作成や.gitignoreに追加等してくれる。

必要なディレクトリに空ファイルを作成

Large flavorのアプリで言うと db ディレクトリが必要だが、amon2-setup.plで作成した状態だと、.gitignoreは下記の状態になっている。

db/.gitignore

*
!.gitignore

これを下記のように修正して、db/gitkeep という空ファイルを新規作成する(gitkeepというファイル名でなくてもいい)

db/.gitignore

*.db
!.gitignore

touch db/gitkeep

当然、git add & git commitは忘れずに。こうする事で minil test する時にディレクトリが作成され、ログファイルやdbファイルが無い!というようなエラーにならない。

ハマりどころ

注意点は ドット で始まるファイル(例えば.gitkeep)ではダメだということ。 理由はドットで始まるファイルしか無いディレクトリはminil test時に.build内に作成されないため。proveコマンドだとテスト通るけどMinillaのtestだと通らない。

他にもログファイルの保存用ディレクトリ等にも同じように対策することが出来る。ディレクトリが必要だけど、ファイル自体は管理しない時にはこのhackが有効かも。

雑感

Changesを使ってリリースログ書いたり、git tagをつけてくれたり、githubにpushしたりを自動化出来るので便利。問題はMinillaの使い方として合っているのか?ってこと。どうなんだろ?

追記2016-6-7

ドットから始まるファイルを含ませたい場合はminil.tomlで設定可能っぽい

Minilla – CPAN モジュールオーサリングツール – perldoc.jp

FileGatherer.include_dotfiles
[FileGatherer]
include_dotfiles = false
デフォルトでは、ドットから始まるファイルは、ディストリビューションに含まれません。 この設定はファイルとディレクトリの両方に及びます。


Filed under: Amon2,perl

Trackback Uri






2016年 3月 28

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される


Filed under: perl

Trackback Uri