diff options
author | Jos I. Boumans <kane@dwim.org> | 2003-02-21 21:33:53 +0100 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2003-03-06 21:27:15 +0000 |
commit | ff23347e9ef93e40f6bc9f2bc2656893b6259bf4 (patch) | |
tree | ee18734a94b4855e3636e2ed3438944c43a58f1f | |
parent | 76ec6486987531bd29428715e8ca0428053a30d9 (diff) | |
download | perl-ff23347e9ef93e40f6bc9f2bc2656893b6259bf4.tar.gz |
Re: [PATCH] let perlmodstyle mention Module::Build and Test::More
From: "Jos I. Boumans" <kane@dwim.org>
Message-ID: <3E567F21.6020006@dwim.org>
(with some minor tweaks)
p4raw-id: //depot/perl@18842
-rw-r--r-- | pod/perlmodstyle.pod | 60 |
1 files changed, 47 insertions, 13 deletions
diff --git a/pod/perlmodstyle.pod b/pod/perlmodstyle.pod index 9431691b80..70cc4d040d 100644 --- a/pod/perlmodstyle.pod +++ b/pod/perlmodstyle.pod @@ -137,7 +137,7 @@ Provide links to further information (URL, email) =item * -Specify pre-requisites in Makefile.PL +Specify pre-requisites in Makefile.PL or Build.PL =item * @@ -563,7 +563,33 @@ Your module should also include a README file describing the module and giving pointers to further information (website, author email). An INSTALL file should be included, and should contain simple installation -instructions (usually "perl Makefile.PL; make; make install"). +instructions. When using ExtUtils::MakeMaker this will usually be: + +=over 4 + +=item perl Makefile.PL + +=item make + +=item make test + +=item make install + +=back + +When using Module::Build, this will usually be: + +=over 4 + +=item perl Build.PL + +=item perl Build + +=item perl Build test + +=item perl Build install + +=back Release notes or changelogs should be produced for each release of your software describing user-visible changes to your module, in terms @@ -639,16 +665,18 @@ Modules not available from CPAN =back Specify version requirements for other Perl modules in the -pre-requisites in your Makefile.PL. +pre-requisites in your Makefile.PL or Build.PL. -Be sure to specify Perl version requirements both in Makefile.PL and -with C<require 5.6.1> or similar. +Be sure to specify Perl version requirements both in Makefile.PL or +Build.PL and with C<require 5.6.1> or similar. See the section on +C<use VERSION> of L<perlfunc/require> for details. =head2 Testing -All modules should be tested before distribution (using "make disttest", +All modules should be tested before distribution (using "make disttest"), and the tests should also be available to people installing the modules (using "make test"). +For Module::Build you would use the C<make test> equivalent C<perl Build test>. The importance of these tests is proportional to the alleged stability of a module -- a module which purports to be stable or which hopes to achieve wide @@ -657,15 +685,17 @@ use should adhere to as strict a testing regime as possible. Useful modules to help you write tests (with minimum impact on your development process or your time) include Test::Simple, Carp::Assert and Test::Inline. +For more sophisticated test suites there are Test::More and Test::MockObject. =head2 Packaging -Modules should be packaged using the standard MakeMaker tools, allowing -them to be installed in a consistent manner. Use "make dist" to create -your package. - -Tools exist to help you build your module in a MakeMaker-friendly style. -These include ExtUtils::ModuleMaker and h2xs. See also L<perlnewmod>. +Modules should be packaged using one of the standard packaging tools. +Currently you have the choice between ExtUtils::MakeMaker and the +more platform independent Module::Build, allowing modules to be installed in a +consistent manner. +When using ExtUtils::MakeMaker, you can use "make dist" to create your +package. Tools exist to help you to build your module in a MakeMaker-friendly +style. These include ExtUtils::ModuleMaker and h2xs. See also L<perlnewmod>. =head2 Licensing @@ -726,9 +756,13 @@ POD documentation Verifies your POD's correctness +=item Packaging Tools + +L<ExtUtils::MakeMaker>, L<Module::Build> + =item Testing tools -L<Test::Simple>, L<Test::Inline>, L<Carp::Assert> +L<Test::Simple>, L<Test::Inline>, L<Carp::Assert>, L<Test::More>, L<Test::MockObject> =item http://pause.perl.org/ |