Dist::Zilla::Plugin::DualLife - Distribute dual-life modules with Dist::Zilla
In your dist.ini:
Dual-life modules, which are modules distributed both as part of the perl core and on CPAN, sometimes need a little special treatment. This module tries provide that for modules built with
Currently the only thing this module does is providing an
INSTALLDIRS option to
WriteMakefile function, so dual-life modules will be installed in the right section of
@INC depending on different versions of perl.
As more things that need special handling for dual-life modules show up, this module will try to address them as well.
The options added to your
Makefile.PL by this module are roughly equivalent to:
'INSTALLDIRS' => ($] >= 5.009005 && $] <= 5.011000 ? 'perl' : 'site'),
If the module didn't enter core in 5.009005, set the
entered_core attribute appropriately:
Indicates when the distribution joined core. Defaults to 5.009005 for all the things that came in for 5.10.
Boolean for distributions bundled with ExtUtils::MakeMaker. Prior to v5.12, bundled modules might get installed into the core library directory, so even if they didn't come into core until later, they need to be forced into core prior to v5.12 so they take precedence.
To do the things it does properly,
MakeMaker plugin would first have to be reworked a lot. If and whenever that happens, this module will be adapted accordingly and maybe stop being so horribly wrong.
If you decide to use an install tool other than
ExtUtils::MakeMaker, this module will
NOT work. However, that's only because I happen to use
ExtUtils::MakeMaker only. If you prefer using
Module::Build or something else instead and want to use this plugin with it, I'd be very to apply patches to make it work with those other install tools.
Makefile.PLs generated by
This module rewrites the contents of an existing
Makefile.PL to insert additional options. The heuristics it currently uses for that depend on the conventions currently used in
Makefile.PLs generated with
Dist::Zilla::Plugin::MakeMaker. If those change, this module will break. However, I'll do my best to update this plugin if that ever happens.
Hopefully we'll have a more extensible
MakeMaker plugin at some point, so all these issues will go away.
Florian Ragwitz <email@example.com>
This software is copyright (c) 2013 by Florian Ragwitz.