.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "ExtUtils::MakeMaker::Dist::Zilla::Develop 3pm" .TH ExtUtils::MakeMaker::Dist::Zilla::Develop 3pm "2019-09-06" "perl v5.28.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" ExtUtils::MakeMaker::Dist::Zilla::Develop \- create bare\-bones Makefile.PL files for use with dzil .SH "VERSION" .IX Header "VERSION" version 0.03 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 3 \& # Makefile.PL \& use ExtUtils::MakeMaker::Dist::Zilla::Develop; \& WriteMakefile(NAME => \*(AqFoo::Bar\*(Aq); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Dist::Zilla makes developing modules much easier by generating all kinds of boilerplate files, saving authors from having to write them by hand, but in some cases this can make developing more inconvenient. The most prominent example of this is with \f(CW\*(C`Makefile.PL\*(C'\fR files \- although the majority of distributions can be hacked on just by editing the files in a source control checkout and using \f(CW\*(C`prove\*(C'\fR for testing, for some this isn't sufficient. In particular, distributions which use an auto-generated test suite and distributions which use \s-1XS\s0 both need special handling at build time before they will function, and with Dist::Zilla, this means running \f(CW\*(C`dzil build\*(C'\fR and rebuilding after every change. This is tedious! .PP This module provides an alternative. Create a minimal \f(CW\*(C`Makefile.PL\*(C'\fR in source control which handles just enough functionality for basic development (it can be as minimal as just what is in the \*(L"\s-1SYNOPSIS\*(R"\s0, but can also contain commands to generate your test suite, for example), and tell Dist::Zilla to replace it with a real \f(CW\*(C`Makefile.PL\*(C'\fR when you're actually ready to build a real distribution. To do this, make sure you're still using the MakeMaker plugin, either directly or through a pluginbundle like \f(CW@Basic\fR, and add the \&\f(CW\*(C`exclude_filename = Makefile.PL\*(C'\fR option to your \fIdist.ini\fR where you use \&\f(CW\*(C`[GatherDir]\*(C'\fR. .PP In addition, this module also intercepts the \f(CW\*(C`install\*(C'\fR and \f(CW\*(C`dist\*(C'\fR rules in the generated Makefile to run the appropriate Dist::Zilla commands (\f(CW\*(C`dzil install\*(C'\fR and \f(CW\*(C`dzil build\*(C'\fR). This allows users to continue to use the \&\f(CW\*(C`perl Makefile.PL && make && make install\*(C'\fR set of commands, and have the correct thing continue to happen. .PP Note that if you're using this module to ease testing of an \s-1XS\s0 distribution, you'll need to account for your module not containing a \f(CW$VERSION\fR statement (assuming you're using the PkgVersion plugin). To do this, you should use an XSLoader invocation similar to this: .PP .Vb 6 \& BEGIN { \& XSLoader::load( \& \*(AqFoo::Bar\*(Aq, \& $Foo::Bar::{VERSION} ? ${ $Foo::Bar::{VERSION} } : () \& ); \& } .Ve .PP This ensures that the \f(CW$Foo::Bar::VERSION\fR glob isn't created if it didn't exist initially, since this can confuse XSLoader. .SH "BUGS" .IX Header "BUGS" No known bugs. .PP Please report any bugs to GitHub Issues at . .SH "SEE ALSO" .IX Header "SEE ALSO" ExtUtils::MakeMaker .PP Dist::Zilla .SH "SUPPORT" .IX Header "SUPPORT" You can find this documentation for this module with the perldoc command. .PP .Vb 1 \& perldoc ExtUtils::MakeMaker::Dist::Zilla::Develop .Ve .PP You can also look for information at: .IP "\(bu" 4 MetaCPAN .Sp .IP "\(bu" 4 Github .Sp .IP "\(bu" 4 \&\s-1RT: CPAN\s0's request tracker .Sp .IP "\(bu" 4 \&\s-1CPAN\s0 Ratings .Sp .SH "AUTHOR" .IX Header "AUTHOR" Jesse Luehrs .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is copyright (c) 2014 by Jesse Luehrs. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.