summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJos I. Boumans <kane@dwim.org>2003-02-21 21:33:53 +0100
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2003-03-06 21:27:15 +0000
commitff23347e9ef93e40f6bc9f2bc2656893b6259bf4 (patch)
treeee18734a94b4855e3636e2ed3438944c43a58f1f
parent76ec6486987531bd29428715e8ca0428053a30d9 (diff)
downloadperl-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.pod60
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/