For co-developers, I wish "devel_requires" fields in META.yml

META.yml*1にdevel_requiresフィールドがあればいいのに,と思った。このフィールドは,開発者にとってのみ必要なモジュールを指定する。

ディストリビューションのテストを行っているとよくモジュールが足りなくてテストをスキップすることがある。これは普通にインストールする分には問題ないが,自分がそのディストリビューションの開発にかかわるとなると無視するわけにはいかない。やむを得ず,メッセージを見ながらモジュールを一つ一つインストールすることになる。もっとも,これは必要なモジュールをtest_requiresに加えるという手法がとれないこともない。しかし,xt/などにある開発者用テストにについてはtest_requiresに加えるわけにもいかない。

このようなケースでdevel_requiresを指定できれば,開発者としてディストリビューションをビルド/テストする際に助けになるだろう。

このフィールドはさらにもう一つ使い道がある。devel_requiresがあればModule::Installのプラグインを指定できるのだ。Module::Installの自動ロード機構は複雑で理解しにくく,コマンドからモジュール名を推定するのもできない。そこで,プラグイン不足でMakefile.PLに失敗すると,search.cpan.orgなどで必要なプラグインを探さなければならない。

このようなことは,ディストリビューション開発に新しく参加したときにおこりがちだ。devel_requiresがあればこの問題は解決するだろう。

(追記)
Module::Install::AuthorRequiresというモジュールがあった。これはMakefile.PL時にモジュールがインストールされているかチェックするだけのようだが,ないよりはマシか。