Dist::Zilla and cpanfile
Dist::Zilla can work with a cpanfile
as container for prerequisites.
This can be quite useful for interacting/integrating with other Perl toolchains elements like carton
or carmel
.
Dist::Zilla has a cpanfile
consumer included in the distribution.
$ dzil build
Will generate a cpanfile
based on the prerequisites listed in dist.ini
using Dist::Zilla::Plugin::CPANFile.
For using cpanfile
as the primary resource for prerequisites so you do not have to maintain the same information in several places you can use: Dist::Zilla::Plugin::Prereqs::FromCPANfile.
A nifty trick I used for generating a cpanfile
for later use, since I want the cpanfile
to be a the primary source for prerequisites is letting dzil
generate the initial version.
Add the following line to your dist.ini
[CPANFile]
Build:
$ dzil build
Copy the cpanfile
$ cp <distribution build dir>/cpanfile .
Change the line in your dist.ini
From:
[CPANFile]
To:
[Prereqs::FromCPANfile]
And you are good to go.
Using the newly generated cpanfile
, requires the installation of: Dist::Zilla::Plugin::Prereqs::FromCPANfile
Alternatively
You could also use the mymeta-cpanfile
from Module-CPANfile
$ dzil build
$ cd <distribution build dir>
$ mymeta-cpanfile
Thanks @miyagawa