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
'sMakeMaker
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.Only
ExtUtils::MakeMaker
is supportedIf you decide to use an install tool other than
ExtUtils::MakeMaker
, this module willNOT
work. However, that's only because I happen to useExtUtils::MakeMaker
only. If you prefer usingModule::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.Only works with
Makefile.PL
s generated byDist::Zilla::Plugin::MakeMaker
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 inMakefile.PL
s 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
MakeMaker
plugin 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.