summaryrefslogtreecommitdiff
path: root/cpan/Module-Build/lib/Module/Build/API.pod
diff options
context:
space:
mode:
authorDavid Golden <dagolden@cpan.org>2011-01-24 23:06:38 -0500
committerDavid Golden <dagolden@cpan.org>2011-01-24 23:41:45 -0500
commit7cf8bfc08bba55cf85781cc2cdb8d5ace99245ec (patch)
tree708c8bbcc6060f3955178daa2f60ab83bac7f336 /cpan/Module-Build/lib/Module/Build/API.pod
parent313ce23f886218e9cbc159ce0f8dfdff84e48128 (diff)
downloadperl-7cf8bfc08bba55cf85781cc2cdb8d5ace99245ec.tar.gz
Update Module::Build to CPAN version 0.3622
[DELTA] 0.3622 - Mon Jan 24 21:06:50 EST 2011 - No changes from 0.36_21 0.36_21 - Fri Jan 21 11:01:28 EST 2011 - Changed YAML::Tiny references to the new CPAN::Meta::YAML module instead, which is the YAML-variant that is going into the Perl core 0.36_20 - Fri Dec 10 15:36:03 EST 2010 *** DEPRECATIONS *** - Module::Build::Version has been deprecated. Module::Build now depends directly upon version.pm. A pure-perl version has been bundled in inc/ solely for bootstrapping in case configure_requires is not supported. M::B::Version remains as a wrapper around version.pm. - Module::Build::ModuleInfo has been deprecated. Module::Build now depends directly upon Module::Metadata (which is an extraction of M::B::ModuleInfo intended for general reuse). A pure-perl version has been bundled in inc/ solely for bootstrapping in case configure_requires is not supported. M::B::ModuleInfo remains as a wrapper around Module::Metadata. - Module::Build::YAML has been deprecated. Module::Build now depends directly upon YAML::Tiny. M::B::YAML remains as a subclass wrapper. The YAML_support feature has been removed, as YAML is now an ordinary dependency. 0.36_19 - Tue Dec 7 13:43:42 EST 2010 Bug fixes: - Perl::OSType is declared as a 'configure_requires' dependency, but is also bundled in inc (and loaded if needed) [David Golden] 0.36_18 - Mon Dec 6 16:46:49 EST 2010 Changes: - Added dependency on Perl::OSType to refactor and centralize management of OS type mapping [David Golden] - When parsing a version number out of a file, any trailing alphabetical characters will be dropped to avoid fatal errors when comparing version numbers. These would have been dropped (with a warning) anyway during an ordinary numeric comparison. (RT#56071) [David Golden] Bug fixes: - A Perl interpreter mismatch between running Build.PL and running Build is now a fatal error, not a warning (RT#55183) [David Golden] - Bundled Module::Build::Version updated to bring into sync with CPAN version.pm 0.86 [David Golden] - No longer uses fake user 'foo' in t/tilde (RT#61793) [David Golden] - Won't fail tests if an ancient Tie::IxHash is installed [Christopher J. Madsen] - Correctly report missing metafile field names [David Golden] - Suppress uninitialized value errors during Pod creation on ActiveState Perl [David Golden] - Return to starting directory after install action; this is an attempt to fix an install.t heisenbug (RT#63003) [David Golden] - A broken version.pm load won't cause Module::Build::Version to die trying to install itself as a mock version (RT#59499) [Eric Wilhelm and David Golden] - PERL_DL_NONLAZY is now always set when tests are run (RT#56055) [Dmitry Karasik] - 'fakeinstall' will use .modulebuildrc actions for 'install' if no specific 'fakeinstall' options are provided (RT#57279) [David Golden] - Add install*script to search path for installdeps client and search site, then vendor, then core paths - Skip noexec tmpdir check on Windows (RT#55667) [Jan Dubois] - Arguments with key value pairs may now have keys with "-" in them (RT#53050) [David Golden] - Add quotemeta to t/tilde.t test to fix Cygwin fails [Chris Williams and David Golden] - Build script now checks that M::B is at least the same version of M::B as provided in 'configure_requires' in META (RT#54954) [David Golden] 0.36_17 - Wed Oct 27 18:08:36 EDT 2010 Enhancements: - Added 'distinstall' action to run 'Build install' inside the generated distribution directory [Jeff Thalhammer] 0.36_16 - Thu Aug 26 12:44:07 EDT 2010 Bug fixes: - Better error message in case package declaration is not found when searching for version. [Alexandr Ciornii] - Skips 'release_status' tests on perl < 5.8.1 due to buggy treatment of dotted-decimal version numbers [David Golden] 0.36_15 - Wed Aug 25 10:41:28 EDT 2010 Bug fixes: - Added a mock Software::License to prevent t/properties/license.t from failing. 0.36_14 - Sun Aug 22 22:56:50 EDT 2010 Enhancements: - Adds 'release_status' and 'dist_suffix' properties in preparation for adding CPAN Meta Spec 2 support. 'dist_suffix' will be set to 'TRIAL' automatically when necessary. [David Golden] - Makes 'license' more liberal. You can now specify either a license key from the approved list (c.f. Module::Build::API) or just a Software::License subclass name (e.g. 'Perl_5'). This should provide better support for custom or proprietary licenses. [David Golden] 0.36_13 - Wed Jul 28 22:40:25 EDT 2010 Bug-fixes: - Bundled Module::Build::Version updated to bring into sync with CPAN version.pm 0.82 [David Golden] 0.36_12 - Tue Jul 27 00:08:51 EDT 2010 Enhancements: - Module::Build::Compat will now convert dotted-decimal prereqs into decimal rather than dying (and will warn about this). [Apocalypse] Bug fixes: - Caches case-sensitivity checks to boost performance, fixes RT#55162 and RT#56513 [Reini Urban] - Won't try to use ActivePerl doc generation tools without confirming that they are indeed installed. [David Golden] - Sets temporary $ENV{HOME} in testing to an absolute path, which fixes some issues when tested as part of the Perl core [Nicholas Clark] - Module::Build::ModuleInfo now warns instead of dying when a module has an invalid version. ->version now just returns undef (RT#59593) [David Golden] Changes: - When authors do not specify Module::Build in configure_requires and Module::Build is automatically added, a warning will be issued showing the added prerequisite [David Golden] - Moved automatic configure_requires generation into get_metadata() and added an 'auto' argument to toggle it (on for META and off for MYMETA) [David Golden] 0.36_11 - Thu May 27 09:41:23 EDT 2010 Bug fixes: - Handle META/MYMETA reading and writing within Module::Build to ensure utf8 mode on filehandles. Now passes/gets only strings to YAML::Tiny or Module::Build::YAML 0.36_10 - Wed May 19 18:36:06 EDT 2010 Bug fixes: - Fix failing t/manifypods.t on Windows from 0.36_09 changes [Klaus Eichner] 0.36_09 - Tue May 11 09:19:12 EDT 2010 Bug fixes: - Improve HTML documentation generation on ActivePerl (RT#53478) [Scott Renner and Klaus Eichner] 0.36_08 - Mon Apr 26 08:00:15 EDT 2010 Enhancements: - Give a list of valid licenses when given one we don't recognize (RT#55951) [Yanick Champoux] - Added 'Build manifest_skip' action to generate a default MANIFEST.SKIP [David Golden] Changes: - When temporarily generating a MANIFEST.SKIP when none exists, it will be removed on exit instead of hanging around until 'Build clean'. This is less surprising/confusing and the 'Build manifest_skip' action is now available instead to bootstrap the file [David Golden] Bug fixes: - Fixed runtime error on cygwin when searching for an executable command during installdeps testing [David Golden]
Diffstat (limited to 'cpan/Module-Build/lib/Module/Build/API.pod')
-rw-r--r--cpan/Module-Build/lib/Module/Build/API.pod194
1 files changed, 181 insertions, 13 deletions
diff --git a/cpan/Module-Build/lib/Module/Build/API.pod b/cpan/Module-Build/lib/Module/Build/API.pod
index 494297fc5d..1106bc8469 100644
--- a/cpan/Module-Build/lib/Module/Build/API.pod
+++ b/cpan/Module-Build/lib/Module/Build/API.pod
@@ -266,6 +266,25 @@ a reasonable default. However, some agglomerative distributions like
C<libwww-perl> or C<bioperl> have names that don't correspond directly
to a module name, so C<dist_name> can be set independently.
+=item dist_suffix
+
+[version 0.37]
+
+Specifies an optional suffix to include after the version number
+in the distribution directory (and tarball) name. The only suffix
+currently recognized by PAUSE is 'TRIAL', which indicates that the
+distribution should not be indexed. For example:
+
+ Foo-Bar-1.23-TRIAL.tar.gz
+
+This will automatically do the "right thing" depending on C<dist_version> and
+C<release_status>. When C<dist_version> does not have an underscore and
+C<release_status> is not 'stable', then C<dist_suffix> will default to 'TRIAL'.
+Otherwise it will default to the empty string, disabling the suffix.
+
+In general, authors should only set this if they B<must> override the default
+behavior for some particular purpose.
+
=item dist_version
[version 0.11]
@@ -452,8 +471,12 @@ L<Module::Build/"INSTALL PATHS">
[version 0.07]
-Specifies the licensing terms of your distribution. Valid options include:
+Specifies the licensing terms of your distribution.
+As of Module::Build version 0.36_14, you may use a L<Software::License>
+subclass name (e.g. 'Apache_2_0') instead of one of the keys below.
+
+The legacy list of valid license values include:
=over 4
@@ -530,9 +553,9 @@ restrictions.
=back
-
Note that you must still include the terms of your license in your
-documentation - this field only lets automated tools figure out your
+code and documentation - this field only sets the information that is included
+in distribution metadata to let automated tools figure out your
licensing restrictions. Humans still need something to read. If you
choose to provide this field, you should make sure that you keep it in
sync with your written documentation if you ever change your licensing
@@ -541,13 +564,7 @@ terms.
You may also use a license type of C<unknown> if you don't wish to
specify your terms in the metadata.
-It is a fatal error to use a license other than the ones mentioned
-above. This is not because I wish to impose licensing terms on you -
-please let me know if you would like another license option to be
-added to the list. I just started out with a small set of licenses to
-keep things simple, figuring I'd let people with actual working
-knowledge in this area tell me what to do. So if that's you, drop me
-a line.
+Also see the C<create_license> parameter.
=item meta_add
@@ -716,6 +733,22 @@ Normally, C<Module::Build> does not search subdirectories when looking
for tests to run. When this options is set it will search recursively
in all subdirectories of the standard 't' test directory.
+=item release_status
+
+[version 0.37]
+
+The CPAN Meta Spec version 2 adds C<release_status> to allow authors
+to specify how a distribution should be indexed. Consistent with the
+spec, this parameter can only have one three values: 'stable',
+'testing' or 'unstable'.
+
+Unless explicitly set by the author, C<release_status> will default
+to 'stable' unless C<dist_version> contains an underscore, in which
+case it will default to 'testing'.
+
+It is an error to specify a C<release_status> of 'stable' when
+C<dist_version> contains an underscore character.
+
=item requires
[version 0.07]
@@ -1593,11 +1626,24 @@ of F<META.yml>. E.g.
return $data;
}
-The only valid argument is C<fatal>, which indicates whether missing required
+Valid arguments include:
+
+=over
+
+=item *
+
+C<fatal> -- indicates whether missing required
metadata fields should be a fatal error or not. For META creation, it
generally should, but for MYMETA creation for end-users, it should not be
fatal.
+=item *
+
+C<auto> -- indicates whether any necessary configure_requires should be
+automatically added. This is used in META creation.
+
+=back
+
This method is a wrapper around the old prepare_metadata API now that we
no longer use YAML::Node to hold metadata.
@@ -1832,7 +1878,129 @@ accessor methods for the following properties:
=over 4
-<autogenerated_accessors>
+=item PL_files()
+
+=item allow_mb_mismatch()
+
+=item auto_configure_requires()
+
+=item autosplit()
+
+=item base_dir()
+
+=item bindoc_dirs()
+
+=item blib()
+
+=item build_bat()
+
+=item build_class()
+
+=item build_elements()
+
+=item build_requires()
+
+=item build_script()
+
+=item bundle_inc()
+
+=item bundle_inc_preload()
+
+=item c_source()
+
+=item config_dir()
+
+=item configure_requires()
+
+=item conflicts()
+
+=item cpan_client()
+
+=item create_license()
+
+=item create_makefile_pl()
+
+=item create_packlist()
+
+=item create_readme()
+
+=item debug()
+
+=item debugger()
+
+=item destdir()
+
+=item get_options()
+
+=item html_css()
+
+=item include_dirs()
+
+=item install_base()
+
+=item installdirs()
+
+=item libdoc_dirs()
+
+=item license()
+
+=item magic_number()
+
+=item mb_version()
+
+=item meta_add()
+
+=item meta_merge()
+
+=item metafile()
+
+=item module_name()
+
+=item mymetafile()
+
+=item needs_compiler()
+
+=item orig_dir()
+
+=item perl()
+
+=item pm_files()
+
+=item pod_files()
+
+=item pollute()
+
+=item prefix()
+
+=item prereq_action_types()
+
+=item program_name()
+
+=item quiet()
+
+=item recommends()
+
+=item recurse_into()
+
+=item recursive_test_files()
+
+=item requires()
+
+=item scripts()
+
+=item sign()
+
+=item tap_harness_args()
+
+=item test_file_exts()
+
+=item use_rcfile()
+
+=item use_tap_harness()
+
+=item verbose()
+
+=item xs_files()
=back
@@ -1882,7 +2050,7 @@ modify it under the same terms as Perl itself.
=head1 SEE ALSO
perl(1), L<Module::Build>(3), L<Module::Build::Authoring>(3),
-L<Module::Build::Cookbook>(3), L<ExtUtils::MakeMaker>(3), L<YAML::Tiny>(3)
+L<Module::Build::Cookbook>(3), L<ExtUtils::MakeMaker>(3)
F<META.yml> Specification:
L<http://module-build.sourceforge.net/META-spec-current.html>