@@ -1,3 +1,32 @@
+Revision history for ExtUtils-Manifest
+
+1.69 2014-11-16
+ - also skip _build_params, generated by Module::Build::Tiny
+
+1.68 Tue, Sep 16, 2014
+ - Fix regression with manifind() and following symlinks
+
+1.66 Sun, Aug 31, 2014
+ - manifind() will now follow symlinks
+ - Tests fixed if PERL_MM_MANIFEST_VERBOSE env var is set to
+ false value
+ - Fixed bug with maniread()'s handling of quoted filenames
+
+1.65 Fri, Aug 8, 2014
+ - Support perls < v5.8.3 once again
+ - Don't generate MANIFESTs with CRLFs on Windows
+
+1.64 Thu, Jul 17, 2014
+ - Ignore vim swap files and prove generated files
+ - use Exporter import
+ - use 'our' instead of use vars
+
+1.63 Sun, Sep 8, 2013
+ - Deal with VMS extended filespecs
+
+1.62 Sun, Sep 8, 2013
+ - Normalize VMS case handling in ExtUtils::Manifest.
+
1.61 Tue, Sep 11, 2012
- Avoid some test-time warnings.
- Current VMS can handle filenames with spaces.
@@ -0,0 +1,43 @@
+This is the Perl distribution ExtUtils-Manifest.
+
+Installing ExtUtils-Manifest is straightforward.
+
+## Installation with cpanm
+
+If you have cpanm, you only need one line:
+
+ % cpanm ExtUtils::Manifest
+
+If you are installing into a system-wide directory, you may need to pass the
+"-S" flag to cpanm, which uses sudo to install the module:
+
+ % cpanm -S ExtUtils::Manifest
+
+## Installing with the CPAN shell
+
+Alternatively, if your CPAN shell is set up, you should just be able to do:
+
+ % cpan ExtUtils::Manifest
+
+## Manual installation
+
+As a last resort, you can manually install it. Download the tarball, untar it,
+then build it:
+
+ % perl Makefile.PL
+ % make && make test
+
+Then install it:
+
+ % make install
+
+If you are installing into a system-wide directory, you may need to run:
+
+ % sudo make install
+
+## Documentation
+
+ExtUtils-Manifest documentation is available as POD.
+You can run perldoc from a shell to read the documentation:
+
+ % perldoc ExtUtils::Manifest
@@ -1,4 +1,4 @@
-This software is copyright (c) 2012 by Andreas Koenig.
+This software is copyright (c) 2014 by Andreas Koenig.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
@@ -12,7 +12,7 @@ b) the "Artistic License"
--- The GNU General Public License, Version 1, February 1989 ---
-This software is Copyright (c) 2012 by Andreas Koenig.
+This software is Copyright (c) 2014 by Andreas Koenig.
This is free software, licensed under:
@@ -22,7 +22,7 @@ This is free software, licensed under:
Version 1, February 1989
Copyright (C) 1989 Free Software Foundation, Inc.
- 51 Franklin St, Suite 500, Boston, MA 02110-1335 USA
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -272,7 +272,7 @@ That's all there is to it!
--- The Artistic License 1.0 ---
-This software is Copyright (c) 2012 by Andreas Koenig.
+This software is Copyright (c) 2014 by Andreas Koenig.
This is free software, licensed under:
@@ -1,4 +1,6 @@
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.025.
Changes
+INSTALL
LICENSE
MANIFEST
META.json
@@ -8,5 +10,14 @@ README
dist.ini
lib/ExtUtils/MANIFEST.SKIP
lib/ExtUtils/Manifest.pm
+t/00-report-prereqs.dd
+t/00-report-prereqs.t
t/Manifest.t
-t/release-pod-syntax.t
+xt/author/00-compile.t
+xt/release/changes_has_content.t
+xt/release/distmeta.t
+xt/release/minimum-version.t
+xt/release/mojibake.t
+xt/release/pod-no404s.t
+xt/release/pod-syntax.t
+xt/release/portability.t
@@ -7,7 +7,7 @@
"The Perl 5 Porters"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 4.300021, CPAN::Meta::Converter version 2.120921",
+ "generated_by" : "Dist::Zilla version 5.025, CPAN::Meta::Converter version 2.142690",
"license" : [
"perl_5"
],
@@ -19,172 +19,586 @@
"prereqs" : {
"configure" : {
"requires" : {
- "ExtUtils::MakeMaker" : "6.30"
+ "ExtUtils::MakeMaker" : "0",
+ "perl" : "5.006"
+ }
+ },
+ "develop" : {
+ "requires" : {
+ "Dist::Zilla" : "5",
+ "Dist::Zilla::Plugin::Authority" : "0",
+ "Dist::Zilla::Plugin::AutoPrereqs" : "0",
+ "Dist::Zilla::Plugin::BumpVersionAfterRelease" : "0",
+ "Dist::Zilla::Plugin::CheckIssues" : "0",
+ "Dist::Zilla::Plugin::CheckPrereqsIndexed" : "0",
+ "Dist::Zilla::Plugin::CheckSelfDependency" : "0",
+ "Dist::Zilla::Plugin::CheckStrictVersion" : "0",
+ "Dist::Zilla::Plugin::ConfirmRelease" : "0",
+ "Dist::Zilla::Plugin::CopyFilesFromRelease" : "0",
+ "Dist::Zilla::Plugin::DualLife" : "0.04",
+ "Dist::Zilla::Plugin::Git::Check" : "0",
+ "Dist::Zilla::Plugin::Git::Commit" : "2.020",
+ "Dist::Zilla::Plugin::Git::Contributors" : "0.004",
+ "Dist::Zilla::Plugin::Git::GatherDir" : "2.016",
+ "Dist::Zilla::Plugin::Git::Push" : "0",
+ "Dist::Zilla::Plugin::Git::Remote::Check" : "0",
+ "Dist::Zilla::Plugin::Git::Tag" : "0",
+ "Dist::Zilla::Plugin::GitHub::Update" : "0",
+ "Dist::Zilla::Plugin::InstallGuide" : "0",
+ "Dist::Zilla::Plugin::License" : "0",
+ "Dist::Zilla::Plugin::MakeMaker" : "0",
+ "Dist::Zilla::Plugin::Manifest" : "0",
+ "Dist::Zilla::Plugin::MetaConfig" : "0",
+ "Dist::Zilla::Plugin::MetaJSON" : "0",
+ "Dist::Zilla::Plugin::MetaProvides::Package" : "1.15000002",
+ "Dist::Zilla::Plugin::MetaResources" : "0",
+ "Dist::Zilla::Plugin::MetaTests" : "0.008",
+ "Dist::Zilla::Plugin::MetaYAML" : "0",
+ "Dist::Zilla::Plugin::MinimumPerl" : "1.006",
+ "Dist::Zilla::Plugin::MojibakeTests" : "0",
+ "Dist::Zilla::Plugin::NextRelease" : "4.300018",
+ "Dist::Zilla::Plugin::OnlyCorePrereqs" : "0.014",
+ "Dist::Zilla::Plugin::PodSyntaxTests" : "0",
+ "Dist::Zilla::Plugin::PodVersion" : "0",
+ "Dist::Zilla::Plugin::Prereqs::AuthorDeps" : "0",
+ "Dist::Zilla::Plugin::PromptIfStale" : "0",
+ "Dist::Zilla::Plugin::Readme" : "0",
+ "Dist::Zilla::Plugin::ReadmeAnyFromPod" : "0.142180",
+ "Dist::Zilla::Plugin::RemovePrereqs" : "0",
+ "Dist::Zilla::Plugin::RewriteVersion" : "0",
+ "Dist::Zilla::Plugin::RunExtraTests" : "0.024",
+ "Dist::Zilla::Plugin::Test::ChangesHasContent" : "0",
+ "Dist::Zilla::Plugin::Test::Compile" : "2.039",
+ "Dist::Zilla::Plugin::Test::MinimumVersion" : "2.000003",
+ "Dist::Zilla::Plugin::Test::Pod::No404s" : "0",
+ "Dist::Zilla::Plugin::Test::Portability" : "0",
+ "Dist::Zilla::Plugin::Test::ReportPrereqs" : "0.019",
+ "Dist::Zilla::Plugin::TestRelease" : "0",
+ "Dist::Zilla::Plugin::UploadToCPAN" : "0",
+ "File::Spec" : "0",
+ "IO::Handle" : "0",
+ "IPC::Open3" : "0",
+ "Test::CPAN::Meta" : "0",
+ "Test::More" : "0.94",
+ "Test::Pod" : "1.41"
}
},
"runtime" : {
"requires" : {
+ "Carp" : "0",
+ "Exporter" : "0",
"File::Basename" : "0",
- "File::Spec" : "0.8"
+ "File::Copy" : "0",
+ "File::Find" : "0",
+ "File::Path" : "0",
+ "File::Spec" : "0.8",
+ "perl" : "5.006",
+ "strict" : "0",
+ "warnings" : "0"
+ }
+ },
+ "test" : {
+ "recommends" : {
+ "CPAN::Meta" : "2.120900"
+ },
+ "requires" : {
+ "Cwd" : "0",
+ "Data::Dumper" : "0",
+ "ExtUtils::MakeMaker" : "0",
+ "File::Spec" : "0.8",
+ "Test::More" : "0",
+ "perl" : "5.006"
}
}
},
+ "provides" : {
+ "ExtUtils::Manifest" : {
+ "file" : "lib/ExtUtils/Manifest.pm",
+ "version" : "1.69"
+ }
+ },
"release_status" : "stable",
"resources" : {
"bugtracker" : {
- "mailto" : "perlbug@perl.org",
- "web" : "http://rt.perl.org/rt3/"
+ "web" : "http://github.com/Perl-Toolchain-Gang/ExtUtils-Manifest/issues"
},
"homepage" : "https://metacpan.org/release/ExtUtils-Manifest",
"repository" : {
"type" : "git",
- "url" : "git://github.com/rafl/extutils-manifest.git",
- "web" : "http://github.com/rafl/extutils-manifest"
- }
+ "url" : "git://github.com/Perl-Toolchain-Gang/Extutils-Manifest.git",
+ "web" : "http://github.com/Perl-Toolchain-Gang/Extutils-Manifest"
+ },
+ "x_IRC" : "irc://irc.perl.org/#toolchain",
+ "x_MailingList" : "http://lists.perl.org/list/cpan-workers.html"
},
- "version" : "1.61",
+ "version" : "1.69",
"x_Dist_Zilla" : {
+ "perl" : {
+ "version" : "5.021005"
+ },
"plugins" : [
{
- "class" : "Dist::Zilla::Plugin::GatherDir",
- "name" : "@Basic/GatherDir",
- "version" : "4.300021"
+ "class" : "Dist::Zilla::Plugin::RewriteVersion",
+ "name" : "RewriteVersion",
+ "version" : "0.007"
},
{
- "class" : "Dist::Zilla::Plugin::PruneCruft",
- "name" : "@Basic/PruneCruft",
- "version" : "4.300021"
+ "class" : "Dist::Zilla::Plugin::PodVersion",
+ "name" : "PodVersion",
+ "version" : "5.025"
},
{
- "class" : "Dist::Zilla::Plugin::ManifestSkip",
- "name" : "@Basic/ManifestSkip",
- "version" : "4.300021"
+ "class" : "Dist::Zilla::Plugin::OnlyCorePrereqs",
+ "config" : {
+ "Dist::Zilla::Plugin::OnlyCorePrereqs" : {
+ "check_dual_life_versions" : "0",
+ "deprecated_ok" : "0",
+ "phases" : [
+ "configure",
+ "build",
+ "runtime",
+ "test"
+ ],
+ "skips" : [],
+ "starting_version" : "to be determined from perl prereq"
+ }
+ },
+ "name" : "OnlyCorePrereqs",
+ "version" : "0.017"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::DualLife",
+ "name" : "DualLife",
+ "version" : "0.04"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaResources",
+ "name" : "MetaResources",
+ "version" : "5.025"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PromptIfStale",
+ "config" : {
+ "Dist::Zilla::Plugin::PromptIfStale" : {
+ "check_all_plugins" : "1",
+ "check_all_prereqs" : "1",
+ "modules" : [],
+ "phase" : "release",
+ "skip" : []
+ }
+ },
+ "name" : "stale modules, release",
+ "version" : "0.030"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::GatherDir",
+ "config" : {
+ "Dist::Zilla::Plugin::GatherDir" : {
+ "exclude_filename" : [
+ "README.pod",
+ "LICENSE"
+ ],
+ "exclude_match" : [],
+ "follow_symlinks" : "0",
+ "include_dotfiles" : "0",
+ "prefix" : "",
+ "prune_directory" : [],
+ "root" : "."
+ },
+ "Dist::Zilla::Plugin::Git::GatherDir" : {
+ "include_untracked" : "0"
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
+ "name" : "Git::GatherDir",
+ "version" : "2.025"
},
{
"class" : "Dist::Zilla::Plugin::MetaYAML",
- "name" : "@Basic/MetaYAML",
- "version" : "4.300021"
+ "name" : "MetaYAML",
+ "version" : "5.025"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaJSON",
+ "name" : "MetaJSON",
+ "version" : "5.025"
},
{
"class" : "Dist::Zilla::Plugin::License",
- "name" : "@Basic/License",
- "version" : "4.300021"
+ "name" : "License",
+ "version" : "5.025"
},
{
"class" : "Dist::Zilla::Plugin::Readme",
- "name" : "@Basic/Readme",
- "version" : "4.300021"
+ "name" : "Readme",
+ "version" : "5.025"
},
{
- "class" : "Dist::Zilla::Plugin::ExtraTests",
- "name" : "@Basic/ExtraTests",
- "version" : "4.300021"
+ "class" : "Dist::Zilla::Plugin::Manifest",
+ "name" : "Manifest",
+ "version" : "5.025"
},
{
- "class" : "Dist::Zilla::Plugin::ExecDir",
- "name" : "@Basic/ExecDir",
- "version" : "4.300021"
+ "class" : "Dist::Zilla::Plugin::InstallGuide",
+ "name" : "InstallGuide",
+ "version" : "1.200005"
},
{
- "class" : "Dist::Zilla::Plugin::ShareDir",
- "name" : "@Basic/ShareDir",
- "version" : "4.300021"
+ "class" : "Dist::Zilla::Plugin::Test::Compile",
+ "config" : {
+ "Dist::Zilla::Plugin::Test::Compile" : {
+ "bail_out_on_fail" : "1",
+ "fail_on_warning" : "author",
+ "fake_home" : "0",
+ "filename" : "xt/author/00-compile.t",
+ "module_finder" : [
+ ":InstallModules"
+ ],
+ "needs_display" : "0",
+ "phase" : "develop",
+ "script_finder" : [
+ ":ExecFiles"
+ ],
+ "skips" : []
+ }
+ },
+ "name" : "Test::Compile",
+ "version" : "2.051"
},
{
- "class" : "Dist::Zilla::Plugin::MakeMaker",
- "name" : "@Basic/MakeMaker",
- "version" : "4.300021"
+ "class" : "Dist::Zilla::Plugin::MetaTests",
+ "name" : "MetaTests",
+ "version" : "5.025"
},
{
- "class" : "Dist::Zilla::Plugin::Manifest",
- "name" : "@Basic/Manifest",
- "version" : "4.300021"
+ "class" : "Dist::Zilla::Plugin::Test::ChangesHasContent",
+ "name" : "Test::ChangesHasContent",
+ "version" : "0.007"
},
{
- "class" : "Dist::Zilla::Plugin::TestRelease",
- "name" : "@Basic/TestRelease",
- "version" : "4.300021"
+ "class" : "Dist::Zilla::Plugin::Test::MinimumVersion",
+ "name" : "Test::MinimumVersion",
+ "version" : "2.000005"
},
{
- "class" : "Dist::Zilla::Plugin::ConfirmRelease",
- "name" : "@Basic/ConfirmRelease",
- "version" : "4.300021"
+ "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
+ "name" : "PodSyntaxTests",
+ "version" : "5.025"
},
{
- "class" : "Dist::Zilla::Plugin::UploadToCPAN",
- "name" : "@Basic/UploadToCPAN",
- "version" : "4.300021"
+ "class" : "Dist::Zilla::Plugin::Test::Pod::No404s",
+ "name" : "Test::Pod::No404s",
+ "version" : "1.001"
},
{
- "class" : "Dist::Zilla::Plugin::DualLife",
- "name" : "DualLife",
- "version" : "0.01"
+ "class" : "Dist::Zilla::Plugin::MojibakeTests",
+ "name" : "MojibakeTests",
+ "version" : "0.7"
},
{
- "class" : "Dist::Zilla::Plugin::MetaConfig",
- "name" : "MetaConfig",
- "version" : "4.300021"
+ "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
+ "name" : "Test::ReportPrereqs",
+ "version" : "0.019"
},
{
- "class" : "Dist::Zilla::Plugin::MetaJSON",
- "name" : "MetaJSON",
- "version" : "4.300021"
+ "class" : "Dist::Zilla::Plugin::Test::Portability",
+ "name" : "Test::Portability",
+ "version" : "2.000005"
},
{
- "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
- "name" : "PodSyntaxTests",
- "version" : "4.300021"
+ "class" : "Dist::Zilla::Plugin::NextRelease",
+ "name" : "NextRelease",
+ "version" : "5.025"
},
{
- "class" : "Dist::Zilla::Plugin::MetaResources",
- "name" : "MetaResources",
- "version" : "4.300021"
+ "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
+ "name" : "ReadmeAnyFromPod",
+ "version" : "0.142470"
},
{
"class" : "Dist::Zilla::Plugin::Authority",
"name" : "Authority",
+ "version" : "1.009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaProvides::Package",
+ "config" : {
+ "Dist::Zilla::Plugin::MetaProvides::Package" : {
+ "finder" : [
+ ":InstallModules"
+ ],
+ "finder_objects" : [
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":InstallModules",
+ "version" : "5.025"
+ }
+ ]
+ },
+ "Dist::Zilla::Role::MetaProvider::Provider" : {
+ "inherit_missing" : "1",
+ "inherit_version" : "1",
+ "meta_noindex" : "1"
+ }
+ },
+ "name" : "MetaProvides::Package",
+ "version" : "2.001002"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaConfig",
+ "name" : "MetaConfig",
+ "version" : "5.025"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Contributors",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::Contributors" : {
+ "include_authors" : "0",
+ "include_releaser" : "1",
+ "order_by" : "commits",
+ "paths" : []
+ }
+ },
+ "name" : "Git::Contributors",
+ "version" : "0.008"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::AutoPrereqs",
+ "name" : "AutoPrereqs",
+ "version" : "5.025"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Prereqs::AuthorDeps",
+ "name" : "Prereqs::AuthorDeps",
+ "version" : "0.004"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MinimumPerl",
+ "name" : "MinimumPerl",
"version" : "1.006"
},
{
- "class" : "Dist::Zilla::Plugin::Prereqs",
+ "class" : "Dist::Zilla::Plugin::RemovePrereqs",
"config" : {
- "Dist::Zilla::Plugin::Prereqs" : {
- "phase" : "runtime",
- "type" : "requires"
+ "Dist::Zilla::Plugin::RemovePrereqs" : {
+ "modules_to_remove" : [
+ "VMS::Feature",
+ "VMS::Filespec"
+ ]
}
},
- "name" : "Prereqs",
- "version" : "4.300021"
+ "name" : "RemovePrereqs",
+ "version" : "5.025"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MakeMaker",
+ "config" : {
+ "Dist::Zilla::Role::TestRunner" : {
+ "default_jobs" : 1
+ }
+ },
+ "name" : "MakeMaker",
+ "version" : "5.025"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::CheckSelfDependency",
+ "config" : {
+ "Dist::Zilla::Plugin::CheckSelfDependency" : {
+ "finder" : [
+ ":InstallModules"
+ ]
+ }
+ },
+ "name" : "CheckSelfDependency",
+ "version" : "0.008"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::CheckStrictVersion",
+ "name" : "CheckStrictVersion",
+ "version" : "0.001"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Check",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::Check" : {
+ "untracked_files" : "die"
+ },
+ "Dist::Zilla::Role::Git::DirtyFiles" : {
+ "allow_dirty" : [],
+ "allow_dirty_match" : [],
+ "changelog" : "Changes"
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
+ "name" : "Git::Check",
+ "version" : "2.025"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Remote::Check",
+ "name" : "Git::Remote::Check",
+ "version" : "0.1.2"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
+ "name" : "CheckPrereqsIndexed",
+ "version" : "0.012"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::TestRelease",
+ "name" : "TestRelease",
+ "version" : "5.025"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::RunExtraTests",
+ "config" : {
+ "Dist::Zilla::Role::TestRunner" : {
+ "default_jobs" : 1
+ }
+ },
+ "name" : "RunExtraTests",
+ "version" : "0.024"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::CheckIssues",
+ "name" : "CheckIssues",
+ "version" : "0.004"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::UploadToCPAN",
+ "name" : "UploadToCPAN",
+ "version" : "5.025"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::CopyFilesFromRelease",
+ "config" : {
+ "Dist::Zilla::Plugin::CopyFilesFromRelease" : {
+ "filename" : [
+ "LICENSE"
+ ],
+ "match" : []
+ }
+ },
+ "name" : "CopyFilesFromRelease",
+ "version" : "0.003"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::BumpVersionAfterRelease",
+ "name" : "BumpVersionAfterRelease",
+ "version" : "0.007"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Commit",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::Commit" : {
+ "add_files_in" : [
+ "."
+ ],
+ "commit_msg" : "%N-%v%t%n%n%c",
+ "time_zone" : "local"
+ },
+ "Dist::Zilla::Role::Git::DirtyFiles" : {
+ "allow_dirty" : [
+ "Changes",
+ "README.pod",
+ "LICENSE"
+ ],
+ "allow_dirty_match" : [],
+ "changelog" : "Changes"
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
+ "name" : "Git::Commit",
+ "version" : "2.025"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Tag",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::Tag" : {
+ "branch" : null,
+ "signed" : 0,
+ "tag" : "1.69",
+ "tag_format" : "%v%t",
+ "tag_message" : "v%v%t",
+ "time_zone" : "local"
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
+ "name" : "Git::Tag",
+ "version" : "2.025"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::GitHub::Update",
+ "name" : "GitHub::Update",
+ "version" : "0.38"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Push",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::Push" : {
+ "push_to" : [
+ "origin"
+ ],
+ "remotes_must_exist" : 1
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
+ "name" : "Git::Push",
+ "version" : "2.025"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ConfirmRelease",
+ "name" : "ConfirmRelease",
+ "version" : "5.025"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":InstallModules",
- "version" : "4.300021"
+ "version" : "5.025"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":IncModules",
- "version" : "4.300021"
+ "version" : "5.025"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":TestFiles",
- "version" : "4.300021"
+ "version" : "5.025"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExecFiles",
- "version" : "4.300021"
+ "version" : "5.025"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ShareFiles",
- "version" : "4.300021"
+ "version" : "5.025"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":MainModule",
- "version" : "4.300021"
+ "version" : "5.025"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":AllFiles",
+ "version" : "5.025"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":NoFiles",
+ "version" : "5.025"
}
],
"zilla" : {
@@ -192,9 +606,24 @@
"config" : {
"is_trial" : "0"
},
- "version" : "4.300021"
+ "version" : "5.025"
}
},
- "x_authority" : "cpan:P5P"
+ "x_authority" : "cpan:P5P",
+ "x_contributors" : [
+ "Karen Etheridge <ether@cpan.org>",
+ "Chris 'BinGOs' Williams <chris@bingosnet.co.uk>",
+ "Florian Ragwitz <rafl@debian.org>",
+ "Craig A. Berry <craigberry@mac.com>",
+ "Leon Timmermans <fawaka@gmail.com>",
+ "Andreas J. Koenig <andreas.koenig.7os6vvqr@franz.ak.mind.de>",
+ "Zefram <zefram@fysh.org>",
+ "Chris Williams <chris@bingosnet.co.uk>",
+ "David E. Wheeler <david@justatheory.com>",
+ "Ed J <mohawk2@users.noreply.github.com>",
+ "James E Keenan <jkeenan@cpan.org>",
+ "Petr Písař <ppisar@redhat.com>",
+ "Sandy Andy <andk@cpan.org>"
+ ]
}
@@ -5,141 +5,420 @@ author:
- 'Michael G Schwern <schwern@pobox.com>'
- 'Randy Kobes <r.kobes@uwinnipeg.ca>'
- 'The Perl 5 Porters'
-build_requires: {}
+build_requires:
+ Cwd: '0'
+ Data::Dumper: '0'
+ ExtUtils::MakeMaker: '0'
+ File::Spec: '0.8'
+ Test::More: '0'
+ perl: '5.006'
configure_requires:
- ExtUtils::MakeMaker: 6.30
+ ExtUtils::MakeMaker: '0'
+ perl: '5.006'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.300021, CPAN::Meta::Converter version 2.120921'
+generated_by: 'Dist::Zilla version 5.025, CPAN::Meta::Converter version 2.142690'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: 1.4
+ version: '1.4'
name: ExtUtils-Manifest
+provides:
+ ExtUtils::Manifest:
+ file: lib/ExtUtils/Manifest.pm
+ version: '1.69'
requires:
- File::Basename: 0
- File::Spec: 0.8
+ Carp: '0'
+ Exporter: '0'
+ File::Basename: '0'
+ File::Copy: '0'
+ File::Find: '0'
+ File::Path: '0'
+ File::Spec: '0.8'
+ perl: '5.006'
+ strict: '0'
+ warnings: '0'
resources:
- bugtracker: http://rt.perl.org/rt3/
+ IRC: irc://irc.perl.org/#toolchain
+ MailingList: http://lists.perl.org/list/cpan-workers.html
+ bugtracker: http://github.com/Perl-Toolchain-Gang/ExtUtils-Manifest/issues
homepage: https://metacpan.org/release/ExtUtils-Manifest
- repository: git://github.com/rafl/extutils-manifest.git
-version: 1.61
+ repository: git://github.com/Perl-Toolchain-Gang/Extutils-Manifest.git
+version: '1.69'
x_Dist_Zilla:
+ perl:
+ version: '5.021005'
plugins:
-
- class: Dist::Zilla::Plugin::GatherDir
- name: '@Basic/GatherDir'
- version: 4.300021
+ class: Dist::Zilla::Plugin::RewriteVersion
+ name: RewriteVersion
+ version: '0.007'
-
- class: Dist::Zilla::Plugin::PruneCruft
- name: '@Basic/PruneCruft'
- version: 4.300021
+ class: Dist::Zilla::Plugin::PodVersion
+ name: PodVersion
+ version: '5.025'
-
- class: Dist::Zilla::Plugin::ManifestSkip
- name: '@Basic/ManifestSkip'
- version: 4.300021
+ class: Dist::Zilla::Plugin::OnlyCorePrereqs
+ config:
+ Dist::Zilla::Plugin::OnlyCorePrereqs:
+ check_dual_life_versions: '0'
+ deprecated_ok: '0'
+ phases:
+ - configure
+ - build
+ - runtime
+ - test
+ skips: []
+ starting_version: 'to be determined from perl prereq'
+ name: OnlyCorePrereqs
+ version: '0.017'
+ -
+ class: Dist::Zilla::Plugin::DualLife
+ name: DualLife
+ version: '0.04'
+ -
+ class: Dist::Zilla::Plugin::MetaResources
+ name: MetaResources
+ version: '5.025'
+ -
+ class: Dist::Zilla::Plugin::PromptIfStale
+ config:
+ Dist::Zilla::Plugin::PromptIfStale:
+ check_all_plugins: '1'
+ check_all_prereqs: '1'
+ modules: []
+ phase: release
+ skip: []
+ name: 'stale modules, release'
+ version: '0.030'
+ -
+ class: Dist::Zilla::Plugin::Git::GatherDir
+ config:
+ Dist::Zilla::Plugin::GatherDir:
+ exclude_filename:
+ - README.pod
+ - LICENSE
+ exclude_match: []
+ follow_symlinks: '0'
+ include_dotfiles: '0'
+ prefix: ''
+ prune_directory: []
+ root: .
+ Dist::Zilla::Plugin::Git::GatherDir:
+ include_untracked: '0'
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
+ name: Git::GatherDir
+ version: '2.025'
-
class: Dist::Zilla::Plugin::MetaYAML
- name: '@Basic/MetaYAML'
- version: 4.300021
+ name: MetaYAML
+ version: '5.025'
+ -
+ class: Dist::Zilla::Plugin::MetaJSON
+ name: MetaJSON
+ version: '5.025'
-
class: Dist::Zilla::Plugin::License
- name: '@Basic/License'
- version: 4.300021
+ name: License
+ version: '5.025'
-
class: Dist::Zilla::Plugin::Readme
- name: '@Basic/Readme'
- version: 4.300021
+ name: Readme
+ version: '5.025'
-
- class: Dist::Zilla::Plugin::ExtraTests
- name: '@Basic/ExtraTests'
- version: 4.300021
+ class: Dist::Zilla::Plugin::Manifest
+ name: Manifest
+ version: '5.025'
-
- class: Dist::Zilla::Plugin::ExecDir
- name: '@Basic/ExecDir'
- version: 4.300021
+ class: Dist::Zilla::Plugin::InstallGuide
+ name: InstallGuide
+ version: '1.200005'
-
- class: Dist::Zilla::Plugin::ShareDir
- name: '@Basic/ShareDir'
- version: 4.300021
+ class: Dist::Zilla::Plugin::Test::Compile
+ config:
+ Dist::Zilla::Plugin::Test::Compile:
+ bail_out_on_fail: '1'
+ fail_on_warning: author
+ fake_home: '0'
+ filename: xt/author/00-compile.t
+ module_finder:
+ - ':InstallModules'
+ needs_display: '0'
+ phase: develop
+ script_finder:
+ - ':ExecFiles'
+ skips: []
+ name: Test::Compile
+ version: '2.051'
-
- class: Dist::Zilla::Plugin::MakeMaker
- name: '@Basic/MakeMaker'
- version: 4.300021
+ class: Dist::Zilla::Plugin::MetaTests
+ name: MetaTests
+ version: '5.025'
-
- class: Dist::Zilla::Plugin::Manifest
- name: '@Basic/Manifest'
- version: 4.300021
+ class: Dist::Zilla::Plugin::Test::ChangesHasContent
+ name: Test::ChangesHasContent
+ version: '0.007'
-
- class: Dist::Zilla::Plugin::TestRelease
- name: '@Basic/TestRelease'
- version: 4.300021
+ class: Dist::Zilla::Plugin::Test::MinimumVersion
+ name: Test::MinimumVersion
+ version: '2.000005'
-
- class: Dist::Zilla::Plugin::ConfirmRelease
- name: '@Basic/ConfirmRelease'
- version: 4.300021
+ class: Dist::Zilla::Plugin::PodSyntaxTests
+ name: PodSyntaxTests
+ version: '5.025'
-
- class: Dist::Zilla::Plugin::UploadToCPAN
- name: '@Basic/UploadToCPAN'
- version: 4.300021
+ class: Dist::Zilla::Plugin::Test::Pod::No404s
+ name: Test::Pod::No404s
+ version: '1.001'
-
- class: Dist::Zilla::Plugin::DualLife
- name: DualLife
- version: 0.01
+ class: Dist::Zilla::Plugin::MojibakeTests
+ name: MojibakeTests
+ version: '0.7'
-
- class: Dist::Zilla::Plugin::MetaConfig
- name: MetaConfig
- version: 4.300021
+ class: Dist::Zilla::Plugin::Test::ReportPrereqs
+ name: Test::ReportPrereqs
+ version: '0.019'
-
- class: Dist::Zilla::Plugin::MetaJSON
- name: MetaJSON
- version: 4.300021
+ class: Dist::Zilla::Plugin::Test::Portability
+ name: Test::Portability
+ version: '2.000005'
-
- class: Dist::Zilla::Plugin::PodSyntaxTests
- name: PodSyntaxTests
- version: 4.300021
+ class: Dist::Zilla::Plugin::NextRelease
+ name: NextRelease
+ version: '5.025'
-
- class: Dist::Zilla::Plugin::MetaResources
- name: MetaResources
- version: 4.300021
+ class: Dist::Zilla::Plugin::ReadmeAnyFromPod
+ name: ReadmeAnyFromPod
+ version: '0.142470'
-
class: Dist::Zilla::Plugin::Authority
name: Authority
- version: 1.006
+ version: '1.009'
+ -
+ class: Dist::Zilla::Plugin::MetaProvides::Package
+ config:
+ Dist::Zilla::Plugin::MetaProvides::Package:
+ finder:
+ - ':InstallModules'
+ finder_objects:
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':InstallModules'
+ version: '5.025'
+ Dist::Zilla::Role::MetaProvider::Provider:
+ inherit_missing: '1'
+ inherit_version: '1'
+ meta_noindex: '1'
+ name: MetaProvides::Package
+ version: '2.001002'
+ -
+ class: Dist::Zilla::Plugin::MetaConfig
+ name: MetaConfig
+ version: '5.025'
-
- class: Dist::Zilla::Plugin::Prereqs
+ class: Dist::Zilla::Plugin::Git::Contributors
config:
- Dist::Zilla::Plugin::Prereqs:
- phase: runtime
- type: requires
- name: Prereqs
- version: 4.300021
+ Dist::Zilla::Plugin::Git::Contributors:
+ include_authors: '0'
+ include_releaser: '1'
+ order_by: commits
+ paths: []
+ name: Git::Contributors
+ version: '0.008'
+ -
+ class: Dist::Zilla::Plugin::AutoPrereqs
+ name: AutoPrereqs
+ version: '5.025'
+ -
+ class: Dist::Zilla::Plugin::Prereqs::AuthorDeps
+ name: Prereqs::AuthorDeps
+ version: '0.004'
+ -
+ class: Dist::Zilla::Plugin::MinimumPerl
+ name: MinimumPerl
+ version: '1.006'
+ -
+ class: Dist::Zilla::Plugin::RemovePrereqs
+ config:
+ Dist::Zilla::Plugin::RemovePrereqs:
+ modules_to_remove:
+ - VMS::Feature
+ - VMS::Filespec
+ name: RemovePrereqs
+ version: '5.025'
+ -
+ class: Dist::Zilla::Plugin::MakeMaker
+ config:
+ Dist::Zilla::Role::TestRunner:
+ default_jobs: 1
+ name: MakeMaker
+ version: '5.025'
+ -
+ class: Dist::Zilla::Plugin::CheckSelfDependency
+ config:
+ Dist::Zilla::Plugin::CheckSelfDependency:
+ finder:
+ - ':InstallModules'
+ name: CheckSelfDependency
+ version: '0.008'
+ -
+ class: Dist::Zilla::Plugin::CheckStrictVersion
+ name: CheckStrictVersion
+ version: '0.001'
+ -
+ class: Dist::Zilla::Plugin::Git::Check
+ config:
+ Dist::Zilla::Plugin::Git::Check:
+ untracked_files: die
+ Dist::Zilla::Role::Git::DirtyFiles:
+ allow_dirty: []
+ allow_dirty_match: []
+ changelog: Changes
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
+ name: Git::Check
+ version: '2.025'
+ -
+ class: Dist::Zilla::Plugin::Git::Remote::Check
+ name: Git::Remote::Check
+ version: 0.1.2
+ -
+ class: Dist::Zilla::Plugin::CheckPrereqsIndexed
+ name: CheckPrereqsIndexed
+ version: '0.012'
+ -
+ class: Dist::Zilla::Plugin::TestRelease
+ name: TestRelease
+ version: '5.025'
+ -
+ class: Dist::Zilla::Plugin::RunExtraTests
+ config:
+ Dist::Zilla::Role::TestRunner:
+ default_jobs: 1
+ name: RunExtraTests
+ version: '0.024'
+ -
+ class: Dist::Zilla::Plugin::CheckIssues
+ name: CheckIssues
+ version: '0.004'
+ -
+ class: Dist::Zilla::Plugin::UploadToCPAN
+ name: UploadToCPAN
+ version: '5.025'
+ -
+ class: Dist::Zilla::Plugin::CopyFilesFromRelease
+ config:
+ Dist::Zilla::Plugin::CopyFilesFromRelease:
+ filename:
+ - LICENSE
+ match: []
+ name: CopyFilesFromRelease
+ version: '0.003'
+ -
+ class: Dist::Zilla::Plugin::BumpVersionAfterRelease
+ name: BumpVersionAfterRelease
+ version: '0.007'
+ -
+ class: Dist::Zilla::Plugin::Git::Commit
+ config:
+ Dist::Zilla::Plugin::Git::Commit:
+ add_files_in:
+ - .
+ commit_msg: '%N-%v%t%n%n%c'
+ time_zone: local
+ Dist::Zilla::Role::Git::DirtyFiles:
+ allow_dirty:
+ - Changes
+ - README.pod
+ - LICENSE
+ allow_dirty_match: []
+ changelog: Changes
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
+ name: Git::Commit
+ version: '2.025'
+ -
+ class: Dist::Zilla::Plugin::Git::Tag
+ config:
+ Dist::Zilla::Plugin::Git::Tag:
+ branch: ~
+ signed: 0
+ tag: '1.69'
+ tag_format: '%v%t'
+ tag_message: v%v%t
+ time_zone: local
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
+ name: Git::Tag
+ version: '2.025'
+ -
+ class: Dist::Zilla::Plugin::GitHub::Update
+ name: GitHub::Update
+ version: '0.38'
+ -
+ class: Dist::Zilla::Plugin::Git::Push
+ config:
+ Dist::Zilla::Plugin::Git::Push:
+ push_to:
+ - origin
+ remotes_must_exist: 1
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
+ name: Git::Push
+ version: '2.025'
+ -
+ class: Dist::Zilla::Plugin::ConfirmRelease
+ name: ConfirmRelease
+ version: '5.025'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':InstallModules'
- version: 4.300021
+ version: '5.025'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':IncModules'
- version: 4.300021
+ version: '5.025'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':TestFiles'
- version: 4.300021
+ version: '5.025'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExecFiles'
- version: 4.300021
+ version: '5.025'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ShareFiles'
- version: 4.300021
+ version: '5.025'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':MainModule'
- version: 4.300021
+ version: '5.025'
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':AllFiles'
+ version: '5.025'
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':NoFiles'
+ version: '5.025'
zilla:
class: Dist::Zilla::Dist::Builder
config:
- is_trial: 0
- version: 4.300021
+ is_trial: '0'
+ version: '5.025'
x_authority: cpan:P5P
+x_contributors:
+ - 'Karen Etheridge <ether@cpan.org>'
+ - "Chris 'BinGOs' Williams <chris@bingosnet.co.uk>"
+ - 'Florian Ragwitz <rafl@debian.org>'
+ - 'Craig A. Berry <craigberry@mac.com>'
+ - 'Leon Timmermans <fawaka@gmail.com>'
+ - 'Andreas J. Koenig <andreas.koenig.7os6vvqr@franz.ak.mind.de>'
+ - 'Zefram <zefram@fysh.org>'
+ - 'Chris Williams <chris@bingosnet.co.uk>'
+ - 'David E. Wheeler <david@justatheory.com>'
+ - 'Ed J <mohawk2@users.noreply.github.com>'
+ - 'James E Keenan <jkeenan@cpan.org>'
+ - 'Petr Písař <ppisar@redhat.com>'
+ - 'Sandy Andy <andk@cpan.org>'
@@ -1,53 +1,78 @@
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.025.
use strict;
use warnings;
+use 5.006;
-
-use ExtUtils::MakeMaker 6.30;
+use ExtUtils::MakeMaker;
my %WriteMakefileArgs = (
"ABSTRACT" => "utilities to write and check a MANIFEST file",
"AUTHOR" => "Andreas Koenig <andreas.koenig\@anima.de>, Michael G Schwern <schwern\@pobox.com>, Randy Kobes <r.kobes\@uwinnipeg.ca>, The Perl 5 Porters",
- "BUILD_REQUIRES" => {},
"CONFIGURE_REQUIRES" => {
- "ExtUtils::MakeMaker" => "6.30"
+ "ExtUtils::MakeMaker" => 0
},
"DISTNAME" => "ExtUtils-Manifest",
"EXE_FILES" => [],
"LICENSE" => "perl",
+ "MIN_PERL_VERSION" => "5.006",
"NAME" => "ExtUtils::Manifest",
"PREREQ_PM" => {
+ "Carp" => 0,
+ "Exporter" => 0,
"File::Basename" => 0,
- "File::Spec" => "0.8"
+ "File::Copy" => 0,
+ "File::Find" => 0,
+ "File::Path" => 0,
+ "File::Spec" => "0.8",
+ "strict" => 0,
+ "warnings" => 0
+ },
+ "TEST_REQUIRES" => {
+ "Cwd" => 0,
+ "Data::Dumper" => 0,
+ "ExtUtils::MakeMaker" => 0,
+ "File::Spec" => "0.8",
+ "Test::More" => 0
},
- "VERSION" => "1.61",
+ "VERSION" => "1.69",
"test" => {
"TESTS" => "t/*.t"
}
);
-unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
- my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
- my $pp = $WriteMakefileArgs{PREREQ_PM};
- for my $mod ( keys %$br ) {
- if ( exists $pp->{$mod} ) {
- $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod};
- }
- else {
- $pp->{$mod} = $br->{$mod};
- }
- }
+my %FallbackPrereqs = (
+ "Carp" => 0,
+ "Cwd" => 0,
+ "Data::Dumper" => 0,
+ "Exporter" => 0,
+ "ExtUtils::MakeMaker" => 0,
+ "File::Basename" => 0,
+ "File::Copy" => 0,
+ "File::Find" => 0,
+ "File::Path" => 0,
+ "File::Spec" => "0.8",
+ "Test::More" => 0,
+ "strict" => 0,
+ "warnings" => 0
+);
+
+
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
+ delete $WriteMakefileArgs{TEST_REQUIRES};
+ delete $WriteMakefileArgs{BUILD_REQUIRES};
+ $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
}
delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
$WriteMakefileArgs{INSTALLDIRS} = 'perl'
- if $] >= 5.009005 && $] <= 5.011000;
+ if $] <= 5.011000;
WriteMakefile(%WriteMakefileArgs);
@@ -1,13 +1,15 @@
This archive contains the distribution ExtUtils-Manifest,
-version 1.61:
+version 1.69:
utilities to write and check a MANIFEST file
-This software is copyright (c) 2012 by Andreas Koenig.
+This software is copyright (c) 2014 by Andreas Koenig.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
+This README file was generated by Dist::Zilla::Plugin::Readme v5.025.
+
@@ -1,5 +1,4 @@
name = ExtUtils-Manifest
-version = 1.61
author = Andreas Koenig <andreas.koenig@anima.de>
author = Michael G Schwern <schwern@pobox.com>
author = Randy Kobes <r.kobes@uwinnipeg.ca>
@@ -7,27 +6,141 @@ author = The Perl 5 Porters
license = Perl_5
copyright_holder = Andreas Koenig
-[@Basic]
+[RewriteVersion]
+[PodVersion]
-[DualLife]
+[OnlyCorePrereqs]
+:version = 0.014
+check_dual_life_versions = 0
-[MetaConfig]
-[MetaJSON]
-[PodSyntaxTests]
+[DualLife]
+:version = 0.04
+eumm_bundled=1
[MetaResources]
repository.type = git
-repository.url = git://github.com/rafl/extutils-manifest.git
-repository.web = http://github.com/rafl/extutils-manifest
-bugtracker.web = http://rt.perl.org/rt3/
-bugtracker.mailto = perlbug@perl.org
+repository.url = git://github.com/Perl-Toolchain-Gang/Extutils-Manifest.git
+repository.web = http://github.com/Perl-Toolchain-Gang/Extutils-Manifest
+bugtracker.web = http://github.com/Perl-Toolchain-Gang/ExtUtils-Manifest/issues
homepage = https://metacpan.org/release/ExtUtils-Manifest
+x_IRC = irc://irc.perl.org/#toolchain
+x_MailingList = http://lists.perl.org/list/cpan-workers.html
+
+[PromptIfStale / stale modules, release]
+phase = release
+check_all_plugins = 1
+check_all_prereqs = 1
+
+[Git::GatherDir]
+:version = 2.016
+exclude_filename = README.pod
+exclude_filename = LICENSE
+
+[MetaYAML]
+[MetaJSON]
+[License]
+[Readme]
+[Manifest]
+
+[InstallGuide]
+
+[Test::Compile]
+:version = 2.039
+bail_out_on_fail = 1
+xt_mode = 1
+
+[MetaTests]
+:version = 0.008
+[Test::ChangesHasContent]
+[Test::MinimumVersion]
+:version = 2.000003
+max_target_perl = 5.006
+[PodSyntaxTests]
+[Test::Pod::No404s]
+[MojibakeTests]
+[Test::ReportPrereqs]
+:version = 0.019
+verify_prereqs = 1
+[Test::Portability]
+
+[NextRelease]
+:version = 4.300018
+time_zone = UTC
+format = %-4v %{yyyy-MM-dd}d
+
+[ReadmeAnyFromPod]
+:version = 0.142180
+type = pod
+location = root
+phase = release
[Authority]
authority = cpan:P5P
do_metadata = 1
do_munging = 0
-[Prereqs]
-File::Spec = 0.8
-File::Basename = 0
+[MetaProvides::Package]
+meta_noindex = 1
+:version = 1.15000002
+finder = :InstallModules
+
+[MetaConfig]
+[Git::Contributors]
+:version = 0.004
+order_by = commits
+
+[AutoPrereqs]
+[Prereqs::AuthorDeps]
+[MinimumPerl]
+:version = 1.006
+
+[RemovePrereqs]
+remove = VMS::Feature
+remove = VMS::Filespec
+
+[MakeMaker]
+eumm_version = 0
+
+[CheckSelfDependency]
+
+[CheckStrictVersion]
+decimal_only = 1
+
+[Git::Check]
+allow_dirty =
+
+[Git::Remote::Check]
+branch = master
+remote_branch = master
+
+[CheckPrereqsIndexed]
+[TestRelease]
+[RunExtraTests]
+:version = 0.024
+
+[CheckIssues]
+
+[UploadToCPAN]
+
+[CopyFilesFromRelease]
+filename = LICENSE
+
+[BumpVersionAfterRelease]
+
+[Git::Commit]
+:version = 2.020
+add_files_in = .
+allow_dirty = Changes
+allow_dirty = README.pod
+allow_dirty = LICENSE
+commit_msg = %N-%v%t%n%n%c
+
+[Git::Tag]
+tag_format = %v%t
+tag_message = v%v%t
+
+[GitHub::Update]
+metacpan = 1
+
+[Git::Push]
+[ConfirmRelease]
@@ -31,6 +31,9 @@
\bBUILD.COM$
\bbuild.com$
+# and Module::Build::Tiny generated files
+\b_build_params$
+
# Avoid temp and backup files.
~$
\.old$
@@ -40,6 +43,7 @@
\.tmp$
\.#
\.rej$
+\..*\.sw.?$
# Avoid OS-specific files/dirs
# Mac OSX metadata
@@ -50,6 +54,9 @@
# Avoid Devel::Cover and Devel::CoverX::Covered files.
\bcover_db\b
\bcovered\b
-
+
+# Avoid prove files
+\B\.prove$
+
# Avoid MYMETA files
^MYMETA\.
@@ -5,27 +5,24 @@ use Config;
use File::Basename;
use File::Copy 'copy';
use File::Find;
-use File::Spec;
+use File::Spec 0.8;
use Carp;
use strict;
+use warnings;
-use vars qw($VERSION @ISA @EXPORT_OK
- $Is_MacOS $Is_VMS $Is_VMS_mode $Is_VMS_lc $Is_VMS_nodot
- $Debug $Verbose $Quiet $MANIFEST $DEFAULT_MSKIP);
-
-$VERSION = '1.61';
-@ISA=('Exporter');
-@EXPORT_OK = qw(mkmanifest
+our $VERSION = '1.69';
+our @ISA = ('Exporter');
+our @EXPORT_OK = qw(mkmanifest
manicheck filecheck fullcheck skipcheck
manifind maniread manicopy maniadd
maniskip
);
-$Is_MacOS = $^O eq 'MacOS';
-$Is_VMS = $^O eq 'VMS';
-$Is_VMS_mode = 0;
-$Is_VMS_lc = 0;
-$Is_VMS_nodot = 0; # No dots in dir names or double dots in files
+our $Is_MacOS = $^O eq 'MacOS';
+our $Is_VMS = $^O eq 'VMS';
+our $Is_VMS_mode = 0;
+our $Is_VMS_lc = 0;
+our $Is_VMS_nodot = 0; # No dots in dir names or double dots in files
if ($Is_VMS) {
require VMS::Filespec if $Is_VMS;
@@ -44,7 +41,7 @@ if ($Is_VMS) {
my $unix_rpt = $ENV{'DECC$FILENAME_UNIX_REPORT'} || '';
my $efs_charset = $ENV{'DECC$EFS_CHARSET'} || '';
my $efs_case = $ENV{'DECC$EFS_CASE_PRESERVE'} || '';
- $vms_unix_rpt = $unix_rpt =~ /^[ET1]/i;
+ $vms_unix_rpt = $unix_rpt =~ /^[ET1]/i;
$vms_efs = $efs_charset =~ /^[ET1]/i;
$vms_case = $efs_case =~ /^[ET1]/i;
}
@@ -53,19 +50,23 @@ if ($Is_VMS) {
$Is_VMS_nodot = 0 if ($vms_efs);
}
-$Debug = $ENV{PERL_MM_MANIFEST_DEBUG} || 0;
-$Verbose = defined $ENV{PERL_MM_MANIFEST_VERBOSE} ?
+our $Debug = $ENV{PERL_MM_MANIFEST_DEBUG} || 0;
+our $Verbose = defined $ENV{PERL_MM_MANIFEST_VERBOSE} ?
$ENV{PERL_MM_MANIFEST_VERBOSE} : 1;
-$Quiet = 0;
-$MANIFEST = 'MANIFEST';
+our $Quiet = 0;
+our $MANIFEST = 'MANIFEST';
-$DEFAULT_MSKIP = File::Spec->catfile( dirname(__FILE__), "$MANIFEST.SKIP" );
+our $DEFAULT_MSKIP = File::Spec->catfile( dirname(__FILE__), "$MANIFEST.SKIP" );
=head1 NAME
ExtUtils::Manifest - utilities to write and check a MANIFEST file
+=head1 VERSION
+
+version 1.69
+
=head1 SYNOPSIS
use ExtUtils::Manifest qw(...funcs to import...);
@@ -124,6 +125,7 @@ sub mkmanifest {
$bakbase =~ s/\./_/g if $Is_VMS_nodot; # avoid double dots
rename $MANIFEST, "$bakbase.bak" unless $manimiss;
open M, "> $MANIFEST" or die "Could not open $MANIFEST: $!";
+ binmode M, ':raw';
my $skip = maniskip();
my $found = manifind();
my($key,$val,$file,%all);
@@ -155,12 +157,20 @@ sub mkmanifest {
close M;
}
-# Geez, shouldn't this use File::Spec or File::Basename or something?
+# Geez, shouldn't this use File::Spec or File::Basename or something?
# Why so careful about dependencies?
sub clean_up_filename {
my $filename = shift;
$filename =~ s|^\./||;
$filename =~ s/^:([^:]+)$/$1/ if $Is_MacOS;
+ if ( $Is_VMS ) {
+ $filename =~ s/\.$//; # trim trailing dot
+ $filename = VMS::Filespec::unixify($filename); # unescape spaces, etc.
+ if( $Is_VMS_lc ) {
+ $filename = lc($filename);
+ $filename = uc($filename) if $filename =~ /^MANIFEST(\.SKIP)?$/i;
+ }
+ }
return $filename;
}
@@ -182,19 +192,14 @@ sub manifind {
my $name = clean_up_filename($File::Find::name);
warn "Debug: diskfile $name\n" if $Debug;
return if -d $_;
-
- if( $Is_VMS_lc ) {
- $name =~ s#(.*)\.$#\L$1#;
- $name = uc($name) if $name =~ /^MANIFEST(\.SKIP)?$/i;
- }
$found->{$name} = "";
};
- # We have to use "$File::Find::dir/$_" in preprocess, because
+ # We have to use "$File::Find::dir/$_" in preprocess, because
# $File::Find::name is unavailable.
- # Also, it's okay to use / here, because MANIFEST files use Unix-style
+ # Also, it's okay to use / here, because MANIFEST files use Unix-style
# paths.
- find({wanted => $wanted},
+ find({wanted => $wanted, follow_fast => 1},
$Is_MacOS ? ":" : ".");
return $found;
@@ -353,7 +358,7 @@ sub maniread {
# filename may contain spaces if enclosed in ''
# (in which case, \\ and \' are escapes)
- if (($file, $comment) = /^'(\\[\\']|.+)+'\s*(.*)/) {
+ if (($file, $comment) = /^'((?:\\[\\']|.+)+)'\s*(.*)/) {
$file =~ s/\\([\\'])/$1/g;
}
else {
@@ -377,9 +382,11 @@ sub maniread {
my $okfile = "$dir$base";
warn "Debug: Illegal name $file changed to $okfile\n" if $Debug;
$file = $okfile;
- }
- $file = lc($file)
- unless $Is_VMS_lc &&($file =~ /^MANIFEST(\.SKIP)?$/);
+ }
+ if( $Is_VMS_lc ) {
+ $file = lc($file);
+ $file = uc($file) if $file =~ /^MANIFEST(\.SKIP)?$/i;
+ }
}
$read->{$file} = $comment;
@@ -414,8 +421,8 @@ sub maniskip {
$_ =~ qr{^\s*(?:(?:'([^\\']*(?:\\.[^\\']*)*)')|([^#\s]\S*))?(?:(?:\s*)|(?:\s+(.*?)\s*))$};
#my $comment = $3;
my $filename = $2;
- if ( defined($1) ) {
- $filename = $1;
+ if ( defined($1) ) {
+ $filename = $1;
$filename =~ s/\\(['\\])/$1/g;
}
next if (not defined($filename) or not $filename);
@@ -478,6 +485,7 @@ sub _check_mskip_directives {
warn "Problem opening $mfile: $!";
return;
}
+ binmode M, ':raw';
print M $_ for (@lines);
close M;
return;
@@ -514,13 +522,13 @@ typically returned by the maniread() function.
manicopy( maniread(), $dest_dir );
-This function is useful for producing a directory tree identical to the
-intended distribution tree.
+This function is useful for producing a directory tree identical to the
+intended distribution tree.
$how can be used to specify a different methods of "copying". Valid
values are C<cp>, which actually copies the files, C<ln> which creates
hard links, and C<best> which mostly links the files but copies any
-symbolic link to make a tree without any symbolic link. C<cp> is the
+symbolic link to make a tree without any symbolic link. C<cp> is the
default.
=cut
@@ -535,11 +543,11 @@ sub manicopy {
$target = VMS::Filespec::unixify($target) if $Is_VMS_mode;
File::Path::mkpath([ $target ],! $Quiet,$Is_VMS ? undef : 0755);
foreach my $file (keys %$read){
- if ($Is_MacOS) {
- if ($file =~ m!:!) {
- my $dir = _maccat($target, $file);
+ if ($Is_MacOS) {
+ if ($file =~ m!:!) {
+ my $dir = _maccat($target, $file);
$dir =~ s/[^:]+$//;
- File::Path::mkpath($dir,1,0755);
+ File::Path::mkpath($dir,1,0755);
}
cp_if_diff($file, _maccat($target, $file), $how);
} else {
@@ -689,8 +697,9 @@ sub maniadd {
my @needed = grep { !exists $manifest->{$_} } keys %$additions;
return 1 unless @needed;
- open(MANIFEST, ">>$MANIFEST") or
+ open(MANIFEST, ">>$MANIFEST") or
die "maniadd() could not open $MANIFEST: $!";
+ binmode MANIFEST, ':raw';
foreach my $file (_sort @needed) {
my $comment = $additions->{$file} || '';
@@ -732,6 +741,7 @@ sub _fix_manifest {
if ( $must_rewrite ) {
1 while unlink $MANIFEST; # avoid multiple versions on VMS
open MANIFEST, ">", $MANIFEST or die "(must_rewrite=$must_rewrite) Could not open >$MANIFEST: $!";
+ binmode MANIFEST, ':raw';
for (my $i=0; $i<=$#manifest; $i+=2) {
print MANIFEST "$manifest[$i]\n";
}
@@ -0,0 +1,97 @@
+do { my $x = {
+ 'configure' => {
+ 'requires' => {
+ 'ExtUtils::MakeMaker' => '0',
+ 'perl' => '5.006'
+ }
+ },
+ 'develop' => {
+ 'requires' => {
+ 'Dist::Zilla' => '5',
+ 'Dist::Zilla::Plugin::Authority' => '0',
+ 'Dist::Zilla::Plugin::AutoPrereqs' => '0',
+ 'Dist::Zilla::Plugin::BumpVersionAfterRelease' => '0',
+ 'Dist::Zilla::Plugin::CheckIssues' => '0',
+ 'Dist::Zilla::Plugin::CheckPrereqsIndexed' => '0',
+ 'Dist::Zilla::Plugin::CheckSelfDependency' => '0',
+ 'Dist::Zilla::Plugin::CheckStrictVersion' => '0',
+ 'Dist::Zilla::Plugin::ConfirmRelease' => '0',
+ 'Dist::Zilla::Plugin::CopyFilesFromRelease' => '0',
+ 'Dist::Zilla::Plugin::DualLife' => '0.04',
+ 'Dist::Zilla::Plugin::Git::Check' => '0',
+ 'Dist::Zilla::Plugin::Git::Commit' => '2.020',
+ 'Dist::Zilla::Plugin::Git::Contributors' => '0.004',
+ 'Dist::Zilla::Plugin::Git::GatherDir' => '2.016',
+ 'Dist::Zilla::Plugin::Git::Push' => '0',
+ 'Dist::Zilla::Plugin::Git::Remote::Check' => '0',
+ 'Dist::Zilla::Plugin::Git::Tag' => '0',
+ 'Dist::Zilla::Plugin::GitHub::Update' => '0',
+ 'Dist::Zilla::Plugin::InstallGuide' => '0',
+ 'Dist::Zilla::Plugin::License' => '0',
+ 'Dist::Zilla::Plugin::MakeMaker' => '0',
+ 'Dist::Zilla::Plugin::Manifest' => '0',
+ 'Dist::Zilla::Plugin::MetaConfig' => '0',
+ 'Dist::Zilla::Plugin::MetaJSON' => '0',
+ 'Dist::Zilla::Plugin::MetaProvides::Package' => '1.15000002',
+ 'Dist::Zilla::Plugin::MetaResources' => '0',
+ 'Dist::Zilla::Plugin::MetaTests' => '0.008',
+ 'Dist::Zilla::Plugin::MetaYAML' => '0',
+ 'Dist::Zilla::Plugin::MinimumPerl' => '1.006',
+ 'Dist::Zilla::Plugin::MojibakeTests' => '0',
+ 'Dist::Zilla::Plugin::NextRelease' => '4.300018',
+ 'Dist::Zilla::Plugin::OnlyCorePrereqs' => '0.014',
+ 'Dist::Zilla::Plugin::PodSyntaxTests' => '0',
+ 'Dist::Zilla::Plugin::PodVersion' => '0',
+ 'Dist::Zilla::Plugin::Prereqs::AuthorDeps' => '0',
+ 'Dist::Zilla::Plugin::PromptIfStale' => '0',
+ 'Dist::Zilla::Plugin::Readme' => '0',
+ 'Dist::Zilla::Plugin::ReadmeAnyFromPod' => '0.142180',
+ 'Dist::Zilla::Plugin::RemovePrereqs' => '0',
+ 'Dist::Zilla::Plugin::RewriteVersion' => '0',
+ 'Dist::Zilla::Plugin::RunExtraTests' => '0.024',
+ 'Dist::Zilla::Plugin::Test::ChangesHasContent' => '0',
+ 'Dist::Zilla::Plugin::Test::Compile' => '2.039',
+ 'Dist::Zilla::Plugin::Test::MinimumVersion' => '2.000003',
+ 'Dist::Zilla::Plugin::Test::Pod::No404s' => '0',
+ 'Dist::Zilla::Plugin::Test::Portability' => '0',
+ 'Dist::Zilla::Plugin::Test::ReportPrereqs' => '0.019',
+ 'Dist::Zilla::Plugin::TestRelease' => '0',
+ 'Dist::Zilla::Plugin::UploadToCPAN' => '0',
+ 'File::Spec' => '0',
+ 'IO::Handle' => '0',
+ 'IPC::Open3' => '0',
+ 'Test::CPAN::Meta' => '0',
+ 'Test::More' => '0.94',
+ 'Test::Pod' => '1.41'
+ }
+ },
+ 'runtime' => {
+ 'requires' => {
+ 'Carp' => '0',
+ 'Exporter' => '0',
+ 'File::Basename' => '0',
+ 'File::Copy' => '0',
+ 'File::Find' => '0',
+ 'File::Path' => '0',
+ 'File::Spec' => '0.8',
+ 'perl' => '5.006',
+ 'strict' => '0',
+ 'warnings' => '0'
+ }
+ },
+ 'test' => {
+ 'recommends' => {
+ 'CPAN::Meta' => '2.120900'
+ },
+ 'requires' => {
+ 'Cwd' => '0',
+ 'Data::Dumper' => '0',
+ 'ExtUtils::MakeMaker' => '0',
+ 'File::Spec' => '0.8',
+ 'Test::More' => '0',
+ 'perl' => '5.006'
+ }
+ }
+ };
+ $x;
+ }
\ No newline at end of file
@@ -0,0 +1,176 @@
+#!perl
+
+use strict;
+use warnings;
+
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.019
+
+use Test::More tests => 1;
+
+use ExtUtils::MakeMaker;
+use File::Spec;
+
+# from $version::LAX
+my $lax_version_re =
+ qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )?
+ |
+ (?:\.[0-9]+) (?:_[0-9]+)?
+ ) | (?:
+ v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )?
+ |
+ (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)?
+ )
+ )/x;
+
+# hide optional CPAN::Meta modules from prereq scanner
+# and check if they are available
+my $cpan_meta = "CPAN::Meta";
+my $cpan_meta_pre = "CPAN::Meta::Prereqs";
+my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" && eval "require $cpan_meta_pre"; ## no critic
+
+# Verify requirements?
+my $DO_VERIFY_PREREQS = 1;
+
+sub _max {
+ my $max = shift;
+ $max = ( $_ > $max ) ? $_ : $max for @_;
+ return $max;
+}
+
+sub _merge_prereqs {
+ my ($collector, $prereqs) = @_;
+
+ # CPAN::Meta::Prereqs object
+ if (ref $collector eq $cpan_meta_pre) {
+ return $collector->with_merged_prereqs(
+ CPAN::Meta::Prereqs->new( $prereqs )
+ );
+ }
+
+ # Raw hashrefs
+ for my $phase ( keys %$prereqs ) {
+ for my $type ( keys %{ $prereqs->{$phase} } ) {
+ for my $module ( keys %{ $prereqs->{$phase}{$type} } ) {
+ $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module};
+ }
+ }
+ }
+
+ return $collector;
+}
+
+my @include = qw(
+
+);
+
+my @exclude = qw(
+
+);
+
+# Add static prereqs to the included modules list
+my $static_prereqs = do 't/00-report-prereqs.dd';
+
+# Merge all prereqs (either with ::Prereqs or a hashref)
+my $full_prereqs = _merge_prereqs(
+ ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ),
+ $static_prereqs
+);
+
+# Add dynamic prereqs to the included modules list (if we can)
+my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
+if ( $source && $HAS_CPAN_META ) {
+ if ( my $meta = eval { CPAN::Meta->load_file($source) } ) {
+ $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
+ }
+}
+else {
+ $source = 'static metadata';
+}
+
+my @full_reports;
+my @dep_errors;
+my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs;
+
+# Add static includes into a fake section
+for my $mod (@include) {
+ $req_hash->{other}{modules}{$mod} = 0;
+}
+
+for my $phase ( qw(configure build test runtime develop other) ) {
+ next unless $req_hash->{$phase};
+ next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING});
+
+ for my $type ( qw(requires recommends suggests conflicts modules) ) {
+ next unless $req_hash->{$phase}{$type};
+
+ my $title = ucfirst($phase).' '.ucfirst($type);
+ my @reports = [qw/Module Want Have/];
+
+ for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) {
+ next if $mod eq 'perl';
+ next if grep { $_ eq $mod } @exclude;
+
+ my $file = $mod;
+ $file =~ s{::}{/}g;
+ $file .= ".pm";
+ my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC;
+
+ my $want = $req_hash->{$phase}{$type}{$mod};
+ $want = "undef" unless defined $want;
+ $want = "any" if !$want && $want == 0;
+
+ my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required";
+
+ if ($prefix) {
+ my $have = MM->parse_version( File::Spec->catfile($prefix, $file) );
+ $have = "undef" unless defined $have;
+ push @reports, [$mod, $want, $have];
+
+ if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) {
+ if ( $have !~ /\A$lax_version_re\z/ ) {
+ push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)";
+ }
+ elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) {
+ push @dep_errors, "$mod version '$have' is not in required range '$want'";
+ }
+ }
+ }
+ else {
+ push @reports, [$mod, $want, "missing"];
+
+ if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) {
+ push @dep_errors, "$mod is not installed ($req_string)";
+ }
+ }
+ }
+
+ if ( @reports ) {
+ push @full_reports, "=== $title ===\n\n";
+
+ my $ml = _max( map { length $_->[0] } @reports );
+ my $wl = _max( map { length $_->[1] } @reports );
+ my $hl = _max( map { length $_->[2] } @reports );
+ splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl];
+
+ push @full_reports, map { sprintf(" %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports;
+ push @full_reports, "\n";
+ }
+ }
+}
+
+if ( @full_reports ) {
+ diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports;
+}
+
+if ( @dep_errors ) {
+ diag join("\n",
+ "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n",
+ "The following REQUIRED prerequisites were not satisfied:\n",
+ @dep_errors,
+ "\n"
+ );
+}
+
+pass;
+
+# vim: ts=4 sts=4 sw=4 et:
@@ -8,12 +8,13 @@ BEGIN {
else {
unshift @INC, 't/lib';
}
+ $ENV{PERL_MM_MANIFEST_VERBOSE}=1;
}
chdir 't';
use strict;
-use Test::More tests => 96;
+use Test::More tests => 98;
use Cwd;
use File::Spec;
@@ -29,12 +30,11 @@ if ($Is_VMS) {
$vms_efs = VMS::Feature::current("efs_charset");
} else {
my $efs_charset = $ENV{'DECC$EFS_CHARSET'} || '';
- $vms_efs = $efs_charset =~ /^[ET1]/i;
+ $vms_efs = $efs_charset =~ /^[ET1]/i;
}
$Is_VMS_noefs = 0 if $vms_efs;
}
-
# We're going to be chdir'ing and modules are sometimes loaded on the
# fly in this test, so we need an absolute @INC.
@INC = map { File::Spec->rel2abs($_) } @INC;
@@ -44,9 +44,10 @@ my %Files;
sub add_file {
my ($file, $data) = @_;
$data ||= 'foo';
- $file =~ s/ /^_/g if $Is_VMS; # escape spaces
+ $file =~ s/ /^_/g if $Is_VMS_noefs; # escape spaces
1 while unlink $file; # or else we'll get multiple versions on VMS
open( T, '> '.$file) or return;
+ binmode T, ':raw'; # no CRLFs please
print T $data;
close T;
return 0 unless -e $file; # exists under the name we gave it ?
@@ -71,10 +72,10 @@ sub remove_dir {
}
# use module, import functions
-BEGIN {
- use_ok( 'ExtUtils::Manifest',
- qw( mkmanifest manicheck filecheck fullcheck
- maniread manicopy skipcheck maniadd maniskip) );
+BEGIN {
+ use_ok( 'ExtUtils::Manifest',
+ qw( mkmanifest manicheck filecheck fullcheck
+ maniread manicopy skipcheck maniadd maniskip) );
}
my $cwd = Cwd::getcwd();
@@ -95,7 +96,7 @@ chmod( 0744, 'foo') if $Config{'chmod'};
# there shouldn't be a MANIFEST there
my ($res, $warn) = catch_warning( \&mkmanifest );
# Canonize the order.
-$warn = join("", map { "$_|" }
+$warn = join("", map { "$_|" }
sort { lc($a) cmp lc($b) } split /\r?\n/, $warn);
is( $warn, "Added to MANIFEST: foo|Added to MANIFEST: MANIFEST|",
"mkmanifest() displayed its additions" );
@@ -145,14 +146,14 @@ is( join( ' ', @skipped ), 'MANIFEST.SKIP', 'listed skipped files' );
# add a subdirectory and a file there that should be found
ok( mkdir( 'moretest', 0777 ), 'created moretest directory' );
add_file( File::Spec->catfile('moretest', 'quux'), 'quux' );
-ok( exists( ExtUtils::Manifest::manifind()->{'moretest/quux'} ),
+ok( exists( ExtUtils::Manifest::manifind()->{'moretest/quux'} ),
"manifind found moretest/quux" );
# only MANIFEST and foo are in the manifest
$_ = 'foo';
my $files = maniread();
is( keys %$files, 2, 'two files found' );
-is( join(' ', sort { lc($a) cmp lc($b) } keys %$files), 'foo MANIFEST',
+is( join(' ', sort { lc($a) cmp lc($b) } keys %$files), 'foo MANIFEST',
'both files found' );
is( $_, 'foo', q{maniread() doesn't clobber $_} );
@@ -179,13 +180,13 @@ rmtree('copy');
# poison the manifest, and add a comment that should be reported
add_file( 'MANIFEST', 'none #none' );
-is( ExtUtils::Manifest::maniread()->{none}, '#none',
+is( ExtUtils::Manifest::maniread()->{none}, '#none',
'maniread found comment' );
ok( mkdir( 'copy', 0777 ), 'made copy directory' );
$files = maniread();
eval { (undef, $warn) = catch_warning( sub {
- manicopy( $files, 'copy', 'cp' ) })
+ manicopy( $files, 'copy', 'cp' ) })
};
# a newline comes through, so get rid of it
@@ -197,7 +198,7 @@ like($warn, qr/^Skipping MANIFEST.SKIP/i, 'warned about MANIFEST.SKIP' );
# tell ExtUtils::Manifest to use a different file
{
- local $ExtUtils::Manifest::MANIFEST = 'albatross';
+ local $ExtUtils::Manifest::MANIFEST = 'albatross';
($res, $warn) = catch_warning( \&mkmanifest );
like( $warn, qr/Added to albatross: /, 'using a new manifest file' );
@@ -232,6 +233,14 @@ is( $files->{wibble}, '', 'maniadd() with undef comment' );
is( $files->{yarrow}, 'hock',' with comment' );
is( $files->{foobar}, '', ' preserved old entries' );
+my $manicontents = do {
+ local $/;
+ open my $fh, "MANIFEST" or die;
+ binmode $fh, ':raw';
+ <$fh>
+};
+is index($manicontents, "\015\012"), -1, 'MANIFEST no CRLF';
+
{
# EOL normalization in maniadd()
@@ -324,6 +333,20 @@ SKIP: {
$funky_files{'space_quote_backslash'} = 'foo bar\\baz\'quux';
}
+# test including a filename which is itself a quoted string
+# https://rt.perl.org/Ticket/Display.html?id=122415
+SKIP: {
+ my $quoted_filename = q{'quoted name.txt'};
+ my $description = "quoted string";
+ add_file( $quoted_filename => $description )
+ or skip "couldn't create $description test file", 1;
+ local $ExtUtils::Manifest::MANIFEST = "albatross";
+ maniadd({ $quoted_filename => $description });
+ is( maniread()->{$quoted_filename}, $description,
+ 'file whose name starts and ends with quotes' );
+ $funky_files{$description} = $quoted_filename;
+}
+
my @funky_keys = qw(space space_quote space_backslash space_quote_backslash);
# test including an external manifest.skip file in MANIFEST.SKIP
{
@@ -443,7 +466,7 @@ SKIP: {
eval {
maniadd({ 'grrrwoof' => 'yippie' });
};
- like( $@, qr/^\Qmaniadd() could not open MANIFEST:\E/,
+ like( $@, qr/^\Qmaniadd() could not open MANIFEST:\E/,
"maniadd() dies if it can't open the MANIFEST" );
chmod( 0600, 'MANIFEST' );
@@ -1,15 +0,0 @@
-#!perl
-
-BEGIN {
- unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
- }
-}
-
-use Test::More;
-
-eval "use Test::Pod 1.41";
-plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
-
-all_pod_files_ok();
@@ -0,0 +1,51 @@
+use 5.006;
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.051
+
+use Test::More 0.94;
+
+plan tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
+
+my @module_files = (
+ 'ExtUtils/Manifest.pm'
+);
+
+
+
+# no fake home requested
+
+my $inc_switch = -d 'blib' ? '-Mblib' : '-Ilib';
+
+use File::Spec;
+use IPC::Open3;
+use IO::Handle;
+
+open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
+
+my @warnings;
+for my $lib (@module_files)
+{
+ # see L<perlfaq8/How can I capture STDERR from an external command?>
+ my $stderr = IO::Handle->new;
+
+ my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, '-e', "require q[$lib]");
+ binmode $stderr, ':crlf' if $^O eq 'MSWin32';
+ my @_warnings = <$stderr>;
+ waitpid($pid, 0);
+ is($?, 0, "$lib loaded ok");
+
+ if (@_warnings)
+ {
+ warn @_warnings;
+ push @warnings, @_warnings;
+ }
+}
+
+
+
+is(scalar(@warnings), 0, 'no warnings found')
+ or diag 'got warnings: ', explain(\@warnings) if $ENV{AUTHOR_TESTING};
+
+BAIL_OUT("Compilation problems") if !Test::More->builder->is_passing;
@@ -0,0 +1,41 @@
+#!perl
+
+use Test::More tests => 2;
+
+note 'Checking Changes';
+my $changes_file = 'Changes';
+my $newver = '1.69';
+my $trial_token = '-TRIAL';
+
+SKIP: {
+ ok(-e $changes_file, "$changes_file file exists")
+ or skip 'Changes is missing', 1;
+
+ ok(_get_changes($newver), "$changes_file has content for $newver");
+}
+
+done_testing;
+
+# _get_changes copied and adapted from Dist::Zilla::Plugin::Git::Commit
+# by Jerome Quelin
+sub _get_changes
+{
+ my $newver = shift;
+
+ # parse changelog to find commit message
+ open(my $fh, '<', $changes_file) or die "cannot open $changes_file: $!";
+ my $changelog = join('', <$fh>);
+ close $fh;
+
+ my @content =
+ grep { /^$newver(?:$trial_token)?(?:\s+|$)/ ... /^\S/ } # from newver to un-indented
+ split /\n/, $changelog;
+ shift @content; # drop the version line
+
+ # drop unindented last line and trailing blank lines
+ pop @content while ( @content && $content[-1] =~ /^(?:\S|\s*$)/ );
+
+ # return number of non-blank lines
+ return scalar @content;
+}
+
@@ -0,0 +1,6 @@
+#!perl
+# This file was automatically generated by Dist::Zilla::Plugin::MetaTests.
+
+use Test::CPAN::Meta;
+
+meta_yaml_ok();
@@ -0,0 +1,8 @@
+#!perl
+
+use Test::More;
+
+eval "use Test::MinimumVersion";
+plan skip_all => "Test::MinimumVersion required for testing minimum versions"
+ if $@;
+all_minimum_version_ok( qq{5.006} );
@@ -0,0 +1,12 @@
+#!perl
+
+use strict;
+use warnings qw(all);
+
+use Test::More;
+
+## no critic (ProhibitStringyEval, RequireCheckingReturnValueOfEval)
+eval q(use Test::Mojibake);
+plan skip_all => q(Test::Mojibake required for source encoding testing) if $@;
+
+all_files_encoding_ok();
@@ -0,0 +1,21 @@
+#!perl
+
+use strict;
+use warnings;
+use Test::More;
+
+foreach my $env_skip ( qw(
+ SKIP_POD_NO404S
+ AUTOMATED_TESTING
+) ){
+ plan skip_all => "\$ENV{$env_skip} is set, skipping"
+ if $ENV{$env_skip};
+}
+
+eval "use Test::Pod::No404s";
+if ( $@ ) {
+ plan skip_all => 'Test::Pod::No404s required for testing POD';
+}
+else {
+ all_pod_files_ok();
+}
@@ -0,0 +1,6 @@
+#!perl
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
+use Test::More;
+use Test::Pod 1.41;
+
+all_pod_files_ok();
@@ -0,0 +1,11 @@
+#!perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+eval 'use Test::Portability::Files';
+plan skip_all => 'Test::Portability::Files required for testing portability'
+ if $@;
+run_tests();