Browse files


  • Loading branch information...
1 parent 14668b4 commit c738fc9d55a8e82dd2e715859bf80458947e7bde @miyagawa committed Apr 13, 2012
Showing with 34 additions and 0 deletions.
  1. +34 −0 README
@@ -19,6 +19,40 @@ DESCRIPTION
Development requirement can only be checked if the developers has
installed Module::Install::AuthorRequires.
+ If you have read cpanfile and cpanfile-faq you might wonder why this
+ plugin is necessary, since *cpanfile* is meant to be used by Perl
+ applications and not distributions.
+ Well, for a couple reasons.
+ Co-exist as a Github project and CPAN distribution
+ One particular use case is a script or web application that you develop
+ on github, and you start with writing dependencies in *cpanfile*. Other
+ users or developers pull the code from git, use carton to bundle
+ dependencies. So far, so good.
+ One day you decide to release the script or application to CPAN as a
+ CPAN distribtuion, and that means you have to duplicate *cpanfile* into
+ *Makefile.PL* or *Build.PL*, and that's not DRY! This plugin will allow
+ you to have just one *cpanfile* and reuse it from *Makefile.PL* for CPAN
+ client use.
+ CPAN Meta Spec 2.0 support.
+ The other, kind of unfortunate reason is that as of this writing,
+ Module::Install and ExtUtils::MakeMaker don't have a complete support
+ for expressing CPAN::Meta::Spec version 2.0 vocabularies.
+ There are many of known issues that the metadata you specify with
+ Module::Install are somehow discarded or down converted, and eventually
+ lost in *MYMETA* files. The examples of those issues are that test
+ dependencies gets merged with build dependencies, and that *recommends*
+ is not saved into MYMETA files.
+ This plugin lets you write prerequisites in *cpanfile* which is more
+ powerful and has a complete support for CPAN::Meta::Spec 2.0 and makes
+ your application forward compatible.
Tatsuhiko Miyagawa <>

0 comments on commit c738fc9

Please sign in to comment.