NAME
Dist::Zilla::Plugin::DualLife - Distribute dual-life modules with Dist::Zilla
SYNOPSIS
In your dist.ini:
[DualLife]
DESCRIPTION
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 Dist::Zilla.
Currently the only thing this module does is providing an INSTALLDIRS option to ExtUtils::MakeMaker's 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:
[DualLife]
entered_core=5.006001
ATTRIBUTES
entered_core
Indicates when the distribution joined core. Defaults to 5.009005 for all the things that came in for 5.10.
eumm_bundled
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.
ACHTUNG!
This module is a really gross hack
To do the things it does properly,
Dist::Zilla'sMakeMakerplugin 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.Only
ExtUtils::MakeMakeris supportedIf you decide to use an install tool other than
ExtUtils::MakeMaker, this module willNOTwork. However, that's only because I happen to useExtUtils::MakeMakeronly. If you prefer usingModule::Buildor 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.Only works with
Makefile.PLs generated byDist::Zilla::Plugin::MakeMakerThis module rewrites the contents of an existing
Makefile.PLto insert additional options. The heuristics it currently uses for that depend on the conventions currently used inMakefile.PLs generated withDist::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
MakeMakerplugin at some point, so all these issues will go away.
AUTHOR
Florian Ragwitz <rafl@debian.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Florian Ragwitz.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.