@@ -4,6 +4,11 @@ CONTRIBUTING
Thank you for considering contributing to this distribution. This file
contains instructions that will help you work with the source code.
+PLEASE NOTE that if you have any questions or difficulties, you can reach me
+through the bug queue described later in this document, or by emailing me
+directly. You are not required to follow any of the steps in this document to
+submit a patch or bug report; these are just guidelines, intended to help you.
+
The distribution is managed with Dist::Zilla (https://metacpan.org/release/Dist-Zilla).
This means than many of the usual files you might expect are not in the
repository, but are generated at release time (e.g. Makefile.PL).
@@ -79,6 +84,12 @@ https://rt.cpan.org/Public/Dist/Display.html?Name=JSON-Any
or via bug-JSON-Any@rt.cpan.org.
This is a good place to send your questions about the usage of this distribution.
+If you send me a patch or pull request, your name and email address will be
+included in the documentation as a contributor, unless you specifically
+request for it not to be (using the attribution on the commit or patch).
+If you wish to be listed under a different name, you should submit a pull
+request to the .mailmap file to contain the correct mapping.
+
This file was generated via Dist::Zilla::Plugin::GenerateFile::ShareDir 0.005 from a
-template file originating in Dist-Zilla-PluginBundle-Author-ETHER-0.064.
+template file originating in Dist-Zilla-PluginBundle-Author-ETHER-0.072.
@@ -1,5 +1,12 @@
Revision history for JSON-Any
+1.36 2014-08-26 05:54:35Z
+ - many improvements to tests and their coverage
+ - $ENV{JSON_ANY_CONFIG} can no longer override constructor arguments
+
+1.35 2014-08-16 00:51:05Z
+ - clarify deprecation status in documentation
+
1.34 2014-05-28 21:31:20Z
- remove test dependency on Devel::StringInfo, which requires Moose
(RT#96034)
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.019.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.020.
CONTRIBUTING
Changes
INSTALL
@@ -8,10 +8,10 @@ META.json
META.yml
Makefile.PL
README
-README.md
dist.ini
lib/JSON/Any.pm
t/00-load.t
+t/00-report-prereqs.dd
t/00-report-prereqs.t
t/01-JSON.t
t/02-JSON-XS.t
@@ -27,15 +27,16 @@ t/13-no-backends.t
t/14-deprecated.t
weaver.ini
xt/author/00-compile.t
+xt/author/no-tabs.t
xt/author/pod-spell.t
xt/release/changes_has_content.t
+xt/release/clean-namespaces.t
xt/release/cpan-changes.t
xt/release/distmeta.t
xt/release/eol.t
xt/release/kwalitee.t
xt/release/minimum-version.t
xt/release/mojibake.t
-xt/release/no-tabs.t
xt/release/pod-coverage.t
xt/release/pod-no404s.t
xt/release/pod-syntax.t
@@ -1,5 +1,5 @@
{
- "abstract" : "Wrapper Class for the various JSON classes.",
+ "abstract" : "Wrapper Class for the various JSON classes (DEPRECATED)",
"author" : [
"Chris Thompson <cthom@cpan.org>",
"Chris Prather <chris@prather.org>",
@@ -8,7 +8,14 @@
"Tomas Doran <bobtfish@bobtfish.net>"
],
"dynamic_config" : 1,
- "generated_by" : "Dist::Zilla version 5.019, CPAN::Meta::Converter version 2.141170",
+ "generated_by" : "Dist::Zilla version 5.020, CPAN::Meta::Converter version 2.142060",
+ "keywords" : [
+ "json",
+ "serialization",
+ "serialisation",
+ "wrapper",
+ "abstraction"
+ ],
"license" : [
"perl_5"
],
@@ -26,48 +33,111 @@
"prereqs" : {
"configure" : {
"requires" : {
- "ExtUtils::MakeMaker" : "6.30"
+ "ExtUtils::MakeMaker" : "0"
}
},
"develop" : {
"recommends" : {
- "Dist::Zilla::PluginBundle::Author::ETHER" : "0.064"
+ "Dist::Zilla::PluginBundle::Author::ETHER" : "0.072",
+ "JSON::DWIW" : "0",
+ "JSON::PP" : "0",
+ "JSON::Syck" : "0",
+ "JSON::XS" : "0"
},
"requires" : {
"Cpanel::JSON::XS" : "0",
"Dist::Zilla" : "5",
- "Dist::Zilla::Plugin::ContributorsFromGit" : "0",
+ "Dist::Zilla::Plugin::Authority" : "0",
+ "Dist::Zilla::Plugin::AutoMetaResources" : "0",
+ "Dist::Zilla::Plugin::AutoPrereqs" : "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::DynamicPrereqs" : "0",
- "Dist::Zilla::Plugin::Encoding" : "0",
+ "Dist::Zilla::Plugin::EOLTests" : "0",
+ "Dist::Zilla::Plugin::ExecDir" : "0",
+ "Dist::Zilla::Plugin::FileFinder::ByName" : "0",
+ "Dist::Zilla::Plugin::GenerateFile::ShareDir" : "0",
+ "Dist::Zilla::Plugin::Git::Check" : "0",
+ "Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch" : "0.004",
+ "Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts" : "0",
+ "Dist::Zilla::Plugin::Git::Commit" : "2.020",
+ "Dist::Zilla::Plugin::Git::Contributors" : "0.004",
+ "Dist::Zilla::Plugin::Git::Describe" : "0",
+ "Dist::Zilla::Plugin::Git::GatherDir" : "2.016",
+ "Dist::Zilla::Plugin::Git::NextVersion" : "0",
+ "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::GithubMeta" : "0",
+ "Dist::Zilla::Plugin::InstallGuide" : "0",
+ "Dist::Zilla::Plugin::Keywords" : "0.004",
+ "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::MetaNoIndex" : "0",
+ "Dist::Zilla::Plugin::MetaProvides::Package" : "1.15000002",
+ "Dist::Zilla::Plugin::MetaTests" : "0",
+ "Dist::Zilla::Plugin::MetaYAML" : "0",
+ "Dist::Zilla::Plugin::MinimumPerl" : "0",
+ "Dist::Zilla::Plugin::MojibakeTests" : "0",
+ "Dist::Zilla::Plugin::NextRelease" : "4.300018",
+ "Dist::Zilla::Plugin::PkgVersion" : "5.010",
+ "Dist::Zilla::Plugin::PodCoverageTests" : "0",
+ "Dist::Zilla::Plugin::PodSyntaxTests" : "0",
+ "Dist::Zilla::Plugin::PodWeaver" : "0",
"Dist::Zilla::Plugin::Prereqs" : "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::PluginBundle::Author::ETHER" : "0.058",
+ "Dist::Zilla::Plugin::Run::AfterBuild" : "0",
+ "Dist::Zilla::Plugin::Run::AfterRelease" : "0",
+ "Dist::Zilla::Plugin::RunExtraTests" : "0.019",
+ "Dist::Zilla::Plugin::ShareDir" : "0",
+ "Dist::Zilla::Plugin::Test::CPAN::Changes" : "0.008",
+ "Dist::Zilla::Plugin::Test::ChangesHasContent" : "0",
+ "Dist::Zilla::Plugin::Test::CleanNamespaces" : "0",
+ "Dist::Zilla::Plugin::Test::Compile" : "2.039",
+ "Dist::Zilla::Plugin::Test::Kwalitee" : "0",
+ "Dist::Zilla::Plugin::Test::MinimumVersion" : "2.000003",
+ "Dist::Zilla::Plugin::Test::NoTabs" : "0",
+ "Dist::Zilla::Plugin::Test::Pod::No404s" : "0",
+ "Dist::Zilla::Plugin::Test::PodSpelling" : "0",
+ "Dist::Zilla::Plugin::Test::Portability" : "0",
+ "Dist::Zilla::Plugin::Test::ReportPrereqs" : "0",
+ "Dist::Zilla::Plugin::TestRelease" : "0",
+ "Dist::Zilla::Plugin::UploadToCPAN" : "0",
+ "Dist::Zilla::PluginBundle::Author::ETHER" : "0.068",
"File::Spec" : "0",
"IO::Handle" : "0",
"IPC::Open3" : "0",
"JSON" : "2.90",
- "JSON::DWIW" : "0",
- "JSON::PP" : "0",
- "JSON::Syck" : "0",
- "JSON::XS" : "0",
"Pod::Coverage::TrustPod" : "0",
"Pod::Weaver::Section::Contributors" : "0",
"Test::CPAN::Changes" : "0.19",
"Test::CPAN::Meta" : "0",
- "Test::Kwalitee" : "1.12",
+ "Test::CleanNamespaces" : "0.15",
+ "Test::Kwalitee" : "1.21",
"Test::More" : "0.94",
"Test::NoTabs" : "0",
"Test::Pod" : "1.41",
- "Test::Pod::Coverage" : "1.08"
+ "Test::Pod::Coverage" : "1.08",
+ "Test::Spelling" : "0.12"
}
},
"runtime" : {
"requires" : {
"Carp" : "0",
"constant" : "0",
+ "namespace::clean" : "0",
"perl" : "5.008",
"strict" : "0",
"warnings" : "0"
@@ -75,29 +145,26 @@
},
"test" : {
"recommends" : {
- "CPAN::Meta" : "0",
- "CPAN::Meta::Requirements" : "2.120900"
+ "CPAN::Meta" : "2.120900"
},
"requires" : {
"Data::Dumper" : "0",
"ExtUtils::MakeMaker" : "0",
- "File::Spec::Functions" : "0",
- "List::Util" : "0",
+ "File::Spec" : "0",
"Storable" : "0",
"Test::Fatal" : "0",
"Test::More" : "0",
"Test::Requires" : "0",
"Test::Warnings" : "0.009",
"Test::Without::Module" : "0",
- "utf8" : "0",
- "version" : "0"
+ "utf8" : "0"
}
}
},
"provides" : {
"JSON::Any" : {
"file" : "lib/JSON/Any.pm",
- "version" : "1.34"
+ "version" : "1.36"
}
},
"release_status" : "stable",
@@ -113,13 +180,24 @@
"web" : "https://github.com/karenetheridge/JSON-Any"
}
},
- "version" : "1.34",
+ "version" : "1.36",
"x_Dist_Zilla" : {
"perl" : {
- "version" : "5.020000"
+ "version" : "5.021003"
},
"plugins" : [
{
+ "class" : "Dist::Zilla::Plugin::Prereqs",
+ "config" : {
+ "Dist::Zilla::Plugin::Prereqs" : {
+ "phase" : "develop",
+ "type" : "requires"
+ }
+ },
+ "name" : "@Author::ETHER/bundle_plugins",
+ "version" : "5.020"
+ },
+ {
"class" : "Dist::Zilla::Plugin::Git::NextVersion",
"config" : {
"Dist::Zilla::Plugin::Git::NextVersion" : {
@@ -132,12 +210,7 @@
}
},
"name" : "@Author::ETHER/Git::NextVersion",
- "version" : "2.022"
- },
- {
- "class" : "Dist::Zilla::Plugin::EnsurePrereqsInstalled",
- "name" : "@Author::ETHER/EnsurePrereqsInstalled",
- "version" : "0.002"
+ "version" : "2.023"
},
{
"class" : "Dist::Zilla::Plugin::PromptIfStale",
@@ -152,8 +225,8 @@
"skip" : []
}
},
- "name" : "@Author::ETHER/build",
- "version" : "0.023"
+ "name" : "@Author::ETHER/stale modules, build",
+ "version" : "0.024"
},
{
"class" : "Dist::Zilla::Plugin::PromptIfStale",
@@ -166,28 +239,28 @@
"skip" : []
}
},
- "name" : "@Author::ETHER/release",
- "version" : "0.023"
+ "name" : "@Author::ETHER/stale modules, release",
+ "version" : "0.024"
},
{
"class" : "Dist::Zilla::Plugin::ExecDir",
"name" : "@Author::ETHER/ExecDir",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::ShareDir",
"name" : "@Author::ETHER/ShareDir",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FileFinder::ByName",
"name" : "@Author::ETHER/Examples",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FileFinder::ByName",
"name" : "@Author::ETHER/ExtraTestFiles",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Git::GatherDir",
@@ -200,32 +273,32 @@
}
},
"name" : "@Author::ETHER/Git::GatherDir",
- "version" : "2.022"
+ "version" : "2.023"
},
{
"class" : "Dist::Zilla::Plugin::MetaYAML",
"name" : "@Author::ETHER/MetaYAML",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::MetaJSON",
"name" : "@Author::ETHER/MetaJSON",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::License",
"name" : "@Author::ETHER/License",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Readme",
"name" : "@Author::ETHER/Readme",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Manifest",
"name" : "@Author::ETHER/Manifest",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::GenerateFile::ShareDir",
@@ -234,6 +307,7 @@
"destination_filename" : "CONTRIBUTING",
"dist" : "Dist-Zilla-PluginBundle-Author-ETHER",
"encoding" : "UTF-8",
+ "has_xs" : 0,
"source_filename" : "CONTRIBUTING"
}
},
@@ -244,23 +318,30 @@
"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",
"@Author::ETHER/Examples"
- ]
+ ],
+ "skips" : []
}
},
"name" : "@Author::ETHER/Test::Compile",
- "version" : "2.040"
+ "version" : "2.046"
},
{
"class" : "Dist::Zilla::Plugin::Test::NoTabs",
"config" : {
"Dist::Zilla::Plugin::Test::NoTabs" : {
+ "filename" : "xt/author/no-tabs.t",
"finder" : [
":InstallModules",
":ExecFiles",
@@ -271,7 +352,7 @@
}
},
"name" : "@Author::ETHER/Test::NoTabs",
- "version" : "0.08"
+ "version" : "0.09"
},
{
"class" : "Dist::Zilla::Plugin::EOLTests",
@@ -281,7 +362,7 @@
{
"class" : "Dist::Zilla::Plugin::MetaTests",
"name" : "@Author::ETHER/MetaTests",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Test::CPAN::Changes",
@@ -301,17 +382,17 @@
{
"class" : "Dist::Zilla::Plugin::PodSyntaxTests",
"name" : "@Author::ETHER/PodSyntaxTests",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::PodCoverageTests",
"name" : "@Author::ETHER/PodCoverageTests",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Test::PodSpelling",
"name" : "@Author::ETHER/Test::PodSpelling",
- "version" : "2.006007"
+ "version" : "2.006008"
},
{
"class" : "Dist::Zilla::Plugin::Test::Pod::No404s",
@@ -320,18 +401,24 @@
},
{
"class" : "Dist::Zilla::Plugin::Test::Kwalitee",
+ "config" : {
+ "Dist::Zilla::Plugin::Test::Kwalitee" : {
+ "filename" : "xt/release/kwalitee.t",
+ "skiptest" : []
+ }
+ },
"name" : "@Author::ETHER/Test::Kwalitee",
- "version" : "2.07"
+ "version" : "2.10"
},
{
"class" : "Dist::Zilla::Plugin::MojibakeTests",
"name" : "@Author::ETHER/MojibakeTests",
- "version" : "0.5"
+ "version" : "0.7"
},
{
"class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
"name" : "@Author::ETHER/Test::ReportPrereqs",
- "version" : "0.013"
+ "version" : "0.019"
},
{
"class" : "Dist::Zilla::Plugin::Test::Portability",
@@ -346,7 +433,7 @@
{
"class" : "Dist::Zilla::Plugin::PkgVersion",
"name" : "@Author::ETHER/PkgVersion",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Authority",
@@ -445,23 +532,23 @@
{
"class" : "Pod::Weaver::Section::Contributors",
"name" : "Contributors",
- "version" : "0.007"
+ "version" : "0.008"
}
]
}
},
"name" : "@Author::ETHER/PodWeaver",
- "version" : "4.005"
+ "version" : "4.006"
},
{
"class" : "Dist::Zilla::Plugin::NextRelease",
"name" : "@Author::ETHER/NextRelease",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
"name" : "@Author::ETHER/ReadmeAnyFromPod",
- "version" : "0.141120"
+ "version" : "0.142250"
},
{
"class" : "Dist::Zilla::Plugin::GithubMeta",
@@ -476,7 +563,7 @@
{
"class" : "Dist::Zilla::Plugin::MetaNoIndex",
"name" : "@Author::ETHER/MetaNoIndex",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::MetaProvides::Package",
@@ -489,7 +576,7 @@
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":InstallModules",
- "version" : "5.019"
+ "version" : "5.020"
}
]
},
@@ -500,22 +587,46 @@
}
},
"name" : "@Author::ETHER/MetaProvides::Package",
- "version" : "2.000001"
+ "version" : "2.001000"
},
{
"class" : "Dist::Zilla::Plugin::MetaConfig",
"name" : "@Author::ETHER/MetaConfig",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Keywords",
+ "config" : {
+ "Dist::Zilla::Plugin::Keywords" : {
+ "keywords" : [
+ "json",
+ "serialization",
+ "serialisation",
+ "wrapper",
+ "abstraction"
+ ]
+ }
+ },
"name" : "@Author::ETHER/Keywords",
- "version" : "0.005"
+ "version" : "0.006"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Contributors",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::Contributors" : {
+ "include_authors" : "0",
+ "include_releaser" : "1",
+ "order_by" : "commits",
+ "paths" : []
+ }
+ },
+ "name" : "@Author::ETHER/Git::Contributors",
+ "version" : "0.007"
},
{
"class" : "Dist::Zilla::Plugin::AutoPrereqs",
"name" : "@Author::ETHER/AutoPrereqs",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs::AuthorDeps",
@@ -532,32 +643,11 @@
"config" : {
"Dist::Zilla::Plugin::Prereqs" : {
"phase" : "develop",
- "type" : "requires"
- }
- },
- "name" : "@Author::ETHER/installer_requirements",
- "version" : "5.019"
- },
- {
- "class" : "Dist::Zilla::Plugin::Prereqs",
- "config" : {
- "Dist::Zilla::Plugin::Prereqs" : {
- "phase" : "develop",
"type" : "recommends"
}
},
"name" : "@Author::ETHER/pluginbundle_version",
- "version" : "5.019"
- },
- {
- "class" : "Dist::Zilla::Plugin::RunExtraTests",
- "config" : {
- "Dist::Zilla::Role::TestRunner" : {
- "default_jobs" : 9
- }
- },
- "name" : "@Author::ETHER/RunExtraTests",
- "version" : "0.021"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::MakeMaker",
@@ -567,7 +657,7 @@
}
},
"name" : "@Author::ETHER/MakeMaker",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::InstallGuide",
@@ -575,6 +665,16 @@
"version" : "1.200003"
},
{
+ "class" : "Dist::Zilla::Plugin::RunExtraTests",
+ "config" : {
+ "Dist::Zilla::Role::TestRunner" : {
+ "default_jobs" : 9
+ }
+ },
+ "name" : "@Author::ETHER/RunExtraTests",
+ "version" : "0.022"
+ },
+ {
"class" : "Dist::Zilla::Plugin::CheckSelfDependency",
"config" : {
"Dist::Zilla::Plugin::CheckSelfDependency" : {
@@ -588,8 +688,15 @@
},
{
"class" : "Dist::Zilla::Plugin::Run::AfterBuild",
+ "config" : {
+ "Dist::Zilla::Plugin::Run::Role::Runner" : {
+ "run" : [
+ "bash -c \"if [[ `dirname %d` != .build ]]; then test -e .ackrc && grep -q -- '--ignore-dir=%d' .ackrc || echo '--ignore-dir=%d' >> .ackrc; fi; if [[ %d =~ ^%n-[.[:xdigit:]]+$ ]]; then rm -f .latest; ln -s %d .latest; fi\""
+ ]
+ }
+ },
"name" : "@Author::ETHER/Run::AfterBuild",
- "version" : "0.021"
+ "version" : "0.023"
},
{
"class" : "Dist::Zilla::Plugin::CheckStrictVersion",
@@ -612,7 +719,7 @@
}
},
"name" : "@Author::ETHER/initial check",
- "version" : "2.022"
+ "version" : "2.023"
},
{
"class" : "Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts",
@@ -637,7 +744,7 @@
{
"class" : "Dist::Zilla::Plugin::Git::Remote::Check",
"name" : "@Author::ETHER/Git::Remote::Check",
- "version" : "0.2.0"
+ "version" : "0.1.2"
},
{
"class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
@@ -647,7 +754,7 @@
{
"class" : "Dist::Zilla::Plugin::TestRelease",
"name" : "@Author::ETHER/TestRelease",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Git::Check",
@@ -665,7 +772,7 @@
}
},
"name" : "@Author::ETHER/after tests",
- "version" : "2.022"
+ "version" : "2.023"
},
{
"class" : "Dist::Zilla::Plugin::CheckIssues",
@@ -675,12 +782,24 @@
{
"class" : "Dist::Zilla::Plugin::UploadToCPAN",
"name" : "@Author::ETHER/UploadToCPAN",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::CopyFilesFromRelease",
"name" : "@Author::ETHER/CopyFilesFromRelease",
- "version" : "0.001"
+ "version" : "0.002"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Run::AfterRelease",
+ "config" : {
+ "Dist::Zilla::Plugin::Run::Role::Runner" : {
+ "run" : [
+ "rm -f README.md"
+ ]
+ }
+ },
+ "name" : "@Author::ETHER/remove old READMEs",
+ "version" : "0.023"
},
{
"class" : "Dist::Zilla::Plugin::Git::Commit",
@@ -696,6 +815,7 @@
"allow_dirty" : [
"Changes",
"README.md",
+ "README.pod",
"LICENSE",
"CONTRIBUTING"
],
@@ -707,7 +827,7 @@
}
},
"name" : "@Author::ETHER/Git::Commit",
- "version" : "2.022"
+ "version" : "2.023"
},
{
"class" : "Dist::Zilla::Plugin::Git::Tag",
@@ -715,7 +835,7 @@
"Dist::Zilla::Plugin::Git::Tag" : {
"branch" : null,
"signed" : 0,
- "tag" : "v1.34",
+ "tag" : "v1.36",
"tag_format" : "v%v%t",
"tag_message" : "v%v%t",
"time_zone" : "local"
@@ -725,12 +845,12 @@
}
},
"name" : "@Author::ETHER/Git::Tag",
- "version" : "2.022"
+ "version" : "2.023"
},
{
"class" : "Dist::Zilla::Plugin::GitHub::Update",
"name" : "@Author::ETHER/GitHub::Update",
- "version" : "0.36"
+ "version" : "0.38"
},
{
"class" : "Dist::Zilla::Plugin::Git::Push",
@@ -746,33 +866,27 @@
}
},
"name" : "@Author::ETHER/Git::Push",
- "version" : "2.022"
+ "version" : "2.023"
},
{
- "class" : "Dist::Zilla::Plugin::InstallRelease",
- "name" : "@Author::ETHER/InstallRelease",
- "version" : "0.008"
- },
- {
- "class" : "Dist::Zilla::Plugin::Prereqs",
+ "class" : "Dist::Zilla::Plugin::Run::AfterRelease",
"config" : {
- "Dist::Zilla::Plugin::Prereqs" : {
- "phase" : "develop",
- "type" : "requires"
+ "Dist::Zilla::Plugin::Run::Role::Runner" : {
+ "run" : "REDACTED"
}
},
- "name" : "@Author::ETHER/via_options",
- "version" : "5.019"
+ "name" : "@Author::ETHER/install release",
+ "version" : "0.023"
},
{
"class" : "Dist::Zilla::Plugin::ConfirmRelease",
"name" : "@Author::ETHER/ConfirmRelease",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::DynamicPrereqs",
"name" : "DynamicPrereqs",
- "version" : "0.004"
+ "version" : "0.005"
},
{
"class" : "Dist::Zilla::Plugin::RemovePrereqs",
@@ -789,68 +903,80 @@
}
},
"name" : "RemovePrereqs",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
"config" : {
"Dist::Zilla::Plugin::Prereqs" : {
"phase" : "develop",
- "type" : "requires"
+ "type" : "recommends"
}
},
- "name" : "DevelopRequires",
- "version" : "5.019"
+ "name" : "DevelopRecommends",
+ "version" : "5.020"
},
{
- "class" : "Dist::Zilla::Plugin::ContributorsFromGit",
- "name" : "ContributorsFromGit",
- "version" : "0.013"
+ "class" : "Dist::Zilla::Plugin::Prereqs",
+ "config" : {
+ "Dist::Zilla::Plugin::Prereqs" : {
+ "phase" : "develop",
+ "type" : "requires"
+ }
+ },
+ "name" : "DevelopRequires",
+ "version" : "5.020"
},
{
- "class" : "Dist::Zilla::Plugin::Encoding",
- "name" : "Encoding",
- "version" : "5.019"
+ "class" : "Dist::Zilla::Plugin::Test::CleanNamespaces",
+ "config" : {
+ "Dist::Zilla::Plugin::Test::CleanNamespaces" : {
+ "filename" : "xt/release/clean-namespaces.t",
+ "skips" : []
+ }
+ },
+ "name" : "Test::CleanNamespaces",
+ "version" : "0.005"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":InstallModules",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":IncModules",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":TestFiles",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExecFiles",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ShareFiles",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":MainModule",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":AllFiles",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":NoFiles",
- "version" : "5.019"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::VerifyPhases",
@@ -863,17 +989,17 @@
"config" : {
"is_trial" : "0"
},
- "version" : "5.019"
+ "version" : "5.020"
}
},
"x_authority" : "cpan:ETHER",
"x_contributors" : [
+ "Karen Etheridge <ether@cpan.org>",
+ "יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>",
"Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>",
"Justin Hunter <justin.d.hunter@gmail.com>",
- "Karen Etheridge <ether@cpan.org>",
- "Matthew Horsfall <wolfsage@gmail.com>",
"Todd Rinaldo <toddr@cpan.org>",
- "יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>"
+ "Matthew Horsfall <wolfsage@gmail.com>"
]
}
@@ -1,5 +1,5 @@
---
-abstract: 'Wrapper Class for the various JSON classes.'
+abstract: 'Wrapper Class for the various JSON classes (DEPRECATED)'
author:
- 'Chris Thompson <cthom@cpan.org>'
- 'Chris Prather <chris@prather.org>'
@@ -9,8 +9,7 @@ author:
build_requires:
Data::Dumper: '0'
ExtUtils::MakeMaker: '0'
- File::Spec::Functions: '0'
- List::Util: '0'
+ File::Spec: '0'
Storable: '0'
Test::Fatal: '0'
Test::More: '0'
@@ -18,11 +17,16 @@ build_requires:
Test::Warnings: '0.009'
Test::Without::Module: '0'
utf8: '0'
- version: '0'
configure_requires:
- ExtUtils::MakeMaker: '6.30'
+ ExtUtils::MakeMaker: '0'
dynamic_config: 1
-generated_by: 'Dist::Zilla version 5.019, CPAN::Meta::Converter version 2.141170'
+generated_by: 'Dist::Zilla version 5.020, CPAN::Meta::Converter version 2.142060'
+keywords:
+ - json
+ - serialization
+ - serialisation
+ - wrapper
+ - abstraction
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -35,10 +39,11 @@ no_index:
provides:
JSON::Any:
file: lib/JSON/Any.pm
- version: '1.34'
+ version: '1.36'
requires:
Carp: '0'
constant: '0'
+ namespace::clean: '0'
perl: '5.008'
strict: '0'
warnings: '0'
@@ -46,12 +51,20 @@ resources:
bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=JSON-Any
homepage: https://github.com/karenetheridge/JSON-Any
repository: https://github.com/karenetheridge/JSON-Any.git
-version: '1.34'
+version: '1.36'
x_Dist_Zilla:
perl:
- version: '5.020000'
+ version: '5.021003'
plugins:
-
+ class: Dist::Zilla::Plugin::Prereqs
+ config:
+ Dist::Zilla::Plugin::Prereqs:
+ phase: develop
+ type: requires
+ name: '@Author::ETHER/bundle_plugins'
+ version: '5.020'
+ -
class: Dist::Zilla::Plugin::Git::NextVersion
config:
Dist::Zilla::Plugin::Git::NextVersion:
@@ -61,11 +74,7 @@ x_Dist_Zilla:
Dist::Zilla::Role::Git::Repo:
repo_root: .
name: '@Author::ETHER/Git::NextVersion'
- version: '2.022'
- -
- class: Dist::Zilla::Plugin::EnsurePrereqsInstalled
- name: '@Author::ETHER/EnsurePrereqsInstalled'
- version: '0.002'
+ version: '2.023'
-
class: Dist::Zilla::Plugin::PromptIfStale
config:
@@ -76,8 +85,8 @@ x_Dist_Zilla:
- Dist::Zilla::PluginBundle::Author::ETHER
phase: build
skip: []
- name: '@Author::ETHER/build'
- version: '0.023'
+ name: '@Author::ETHER/stale modules, build'
+ version: '0.024'
-
class: Dist::Zilla::Plugin::PromptIfStale
config:
@@ -87,24 +96,24 @@ x_Dist_Zilla:
modules: []
phase: release
skip: []
- name: '@Author::ETHER/release'
- version: '0.023'
+ name: '@Author::ETHER/stale modules, release'
+ version: '0.024'
-
class: Dist::Zilla::Plugin::ExecDir
name: '@Author::ETHER/ExecDir'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::ShareDir
name: '@Author::ETHER/ShareDir'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FileFinder::ByName
name: '@Author::ETHER/Examples'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FileFinder::ByName
name: '@Author::ETHER/ExtraTestFiles'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Git::GatherDir
config:
@@ -113,27 +122,27 @@ x_Dist_Zilla:
Dist::Zilla::Role::Git::Repo:
repo_root: .
name: '@Author::ETHER/Git::GatherDir'
- version: '2.022'
+ version: '2.023'
-
class: Dist::Zilla::Plugin::MetaYAML
name: '@Author::ETHER/MetaYAML'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::MetaJSON
name: '@Author::ETHER/MetaJSON'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::License
name: '@Author::ETHER/License'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Readme
name: '@Author::ETHER/Readme'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Manifest
name: '@Author::ETHER/Manifest'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::GenerateFile::ShareDir
config:
@@ -141,6 +150,7 @@ x_Dist_Zilla:
destination_filename: CONTRIBUTING
dist: Dist-Zilla-PluginBundle-Author-ETHER
encoding: UTF-8
+ has_xs: 0
source_filename: CONTRIBUTING
name: '@Author::ETHER/generate CONTRIBUTING'
version: '0.005'
@@ -148,18 +158,25 @@ x_Dist_Zilla:
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'
- '@Author::ETHER/Examples'
+ skips: []
name: '@Author::ETHER/Test::Compile'
- version: '2.040'
+ version: '2.046'
-
class: Dist::Zilla::Plugin::Test::NoTabs
config:
Dist::Zilla::Plugin::Test::NoTabs:
+ filename: xt/author/no-tabs.t
finder:
- ':InstallModules'
- ':ExecFiles'
@@ -167,7 +184,7 @@ x_Dist_Zilla:
- ':TestFiles'
- '@Author::ETHER/ExtraTestFiles'
name: '@Author::ETHER/Test::NoTabs'
- version: '0.08'
+ version: '0.09'
-
class: Dist::Zilla::Plugin::EOLTests
name: '@Author::ETHER/EOLTests'
@@ -175,7 +192,7 @@ x_Dist_Zilla:
-
class: Dist::Zilla::Plugin::MetaTests
name: '@Author::ETHER/MetaTests'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Test::CPAN::Changes
name: '@Author::ETHER/Test::CPAN::Changes'
@@ -191,31 +208,35 @@ x_Dist_Zilla:
-
class: Dist::Zilla::Plugin::PodSyntaxTests
name: '@Author::ETHER/PodSyntaxTests'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::PodCoverageTests
name: '@Author::ETHER/PodCoverageTests'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Test::PodSpelling
name: '@Author::ETHER/Test::PodSpelling'
- version: '2.006007'
+ version: '2.006008'
-
class: Dist::Zilla::Plugin::Test::Pod::No404s
name: '@Author::ETHER/Test::Pod::No404s'
version: '1.001'
-
class: Dist::Zilla::Plugin::Test::Kwalitee
+ config:
+ Dist::Zilla::Plugin::Test::Kwalitee:
+ filename: xt/release/kwalitee.t
+ skiptest: []
name: '@Author::ETHER/Test::Kwalitee'
- version: '2.07'
+ version: '2.10'
-
class: Dist::Zilla::Plugin::MojibakeTests
name: '@Author::ETHER/MojibakeTests'
- version: '0.5'
+ version: '0.7'
-
class: Dist::Zilla::Plugin::Test::ReportPrereqs
name: '@Author::ETHER/Test::ReportPrereqs'
- version: '0.013'
+ version: '0.019'
-
class: Dist::Zilla::Plugin::Test::Portability
name: '@Author::ETHER/Test::Portability'
@@ -227,7 +248,7 @@ x_Dist_Zilla:
-
class: Dist::Zilla::Plugin::PkgVersion
name: '@Author::ETHER/PkgVersion'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Authority
name: '@Author::ETHER/Authority'
@@ -307,17 +328,17 @@ x_Dist_Zilla:
-
class: Pod::Weaver::Section::Contributors
name: Contributors
- version: '0.007'
+ version: '0.008'
name: '@Author::ETHER/PodWeaver'
- version: '4.005'
+ version: '4.006'
-
class: Dist::Zilla::Plugin::NextRelease
name: '@Author::ETHER/NextRelease'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::ReadmeAnyFromPod
name: '@Author::ETHER/ReadmeAnyFromPod'
- version: '0.141120'
+ version: '0.142250'
-
class: Dist::Zilla::Plugin::GithubMeta
name: '@Author::ETHER/GithubMeta'
@@ -329,7 +350,7 @@ x_Dist_Zilla:
-
class: Dist::Zilla::Plugin::MetaNoIndex
name: '@Author::ETHER/MetaNoIndex'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::MetaProvides::Package
config:
@@ -340,25 +361,43 @@ x_Dist_Zilla:
-
class: Dist::Zilla::Plugin::FinderCode
name: ':InstallModules'
- version: '5.019'
+ version: '5.020'
Dist::Zilla::Role::MetaProvider::Provider:
inherit_missing: '1'
inherit_version: '1'
meta_noindex: '1'
name: '@Author::ETHER/MetaProvides::Package'
- version: '2.000001'
+ version: '2.001000'
-
class: Dist::Zilla::Plugin::MetaConfig
name: '@Author::ETHER/MetaConfig'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Keywords
+ config:
+ Dist::Zilla::Plugin::Keywords:
+ keywords:
+ - json
+ - serialization
+ - serialisation
+ - wrapper
+ - abstraction
name: '@Author::ETHER/Keywords'
- version: '0.005'
+ version: '0.006'
+ -
+ class: Dist::Zilla::Plugin::Git::Contributors
+ config:
+ Dist::Zilla::Plugin::Git::Contributors:
+ include_authors: '0'
+ include_releaser: '1'
+ order_by: commits
+ paths: []
+ name: '@Author::ETHER/Git::Contributors'
+ version: '0.007'
-
class: Dist::Zilla::Plugin::AutoPrereqs
name: '@Author::ETHER/AutoPrereqs'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Prereqs::AuthorDeps
name: '@Author::ETHER/Prereqs::AuthorDeps'
@@ -372,36 +411,28 @@ x_Dist_Zilla:
config:
Dist::Zilla::Plugin::Prereqs:
phase: develop
- type: requires
- name: '@Author::ETHER/installer_requirements'
- version: '5.019'
- -
- class: Dist::Zilla::Plugin::Prereqs
- config:
- Dist::Zilla::Plugin::Prereqs:
- phase: develop
type: recommends
name: '@Author::ETHER/pluginbundle_version'
- version: '5.019'
- -
- class: Dist::Zilla::Plugin::RunExtraTests
- config:
- Dist::Zilla::Role::TestRunner:
- default_jobs: 9
- name: '@Author::ETHER/RunExtraTests'
- version: '0.021'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::MakeMaker
config:
Dist::Zilla::Role::TestRunner:
default_jobs: 9
name: '@Author::ETHER/MakeMaker'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::InstallGuide
name: '@Author::ETHER/InstallGuide'
version: '1.200003'
-
+ class: Dist::Zilla::Plugin::RunExtraTests
+ config:
+ Dist::Zilla::Role::TestRunner:
+ default_jobs: 9
+ name: '@Author::ETHER/RunExtraTests'
+ version: '0.022'
+ -
class: Dist::Zilla::Plugin::CheckSelfDependency
config:
Dist::Zilla::Plugin::CheckSelfDependency:
@@ -411,8 +442,12 @@ x_Dist_Zilla:
version: '0.007'
-
class: Dist::Zilla::Plugin::Run::AfterBuild
+ config:
+ Dist::Zilla::Plugin::Run::Role::Runner:
+ run:
+ - "bash -c \"if [[ `dirname %d` != .build ]]; then test -e .ackrc && grep -q -- '--ignore-dir=%d' .ackrc || echo '--ignore-dir=%d' >> .ackrc; fi; if [[ %d =~ ^%n-[.[:xdigit:]]+$ ]]; then rm -f .latest; ln -s %d .latest; fi\""
name: '@Author::ETHER/Run::AfterBuild'
- version: '0.021'
+ version: '0.023'
-
class: Dist::Zilla::Plugin::CheckStrictVersion
name: '@Author::ETHER/CheckStrictVersion'
@@ -429,7 +464,7 @@ x_Dist_Zilla:
Dist::Zilla::Role::Git::Repo:
repo_root: .
name: '@Author::ETHER/initial check'
- version: '2.022'
+ version: '2.023'
-
class: Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts
config:
@@ -447,7 +482,7 @@ x_Dist_Zilla:
-
class: Dist::Zilla::Plugin::Git::Remote::Check
name: '@Author::ETHER/Git::Remote::Check'
- version: 0.2.0
+ version: 0.1.2
-
class: Dist::Zilla::Plugin::CheckPrereqsIndexed
name: '@Author::ETHER/CheckPrereqsIndexed'
@@ -455,7 +490,7 @@ x_Dist_Zilla:
-
class: Dist::Zilla::Plugin::TestRelease
name: '@Author::ETHER/TestRelease'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Git::Check
config:
@@ -468,7 +503,7 @@ x_Dist_Zilla:
Dist::Zilla::Role::Git::Repo:
repo_root: .
name: '@Author::ETHER/after tests'
- version: '2.022'
+ version: '2.023'
-
class: Dist::Zilla::Plugin::CheckIssues
name: '@Author::ETHER/CheckIssues'
@@ -476,11 +511,19 @@ x_Dist_Zilla:
-
class: Dist::Zilla::Plugin::UploadToCPAN
name: '@Author::ETHER/UploadToCPAN'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::CopyFilesFromRelease
name: '@Author::ETHER/CopyFilesFromRelease'
- version: '0.001'
+ version: '0.002'
+ -
+ class: Dist::Zilla::Plugin::Run::AfterRelease
+ config:
+ Dist::Zilla::Plugin::Run::Role::Runner:
+ run:
+ - 'rm -f README.md'
+ name: '@Author::ETHER/remove old READMEs'
+ version: '0.023'
-
class: Dist::Zilla::Plugin::Git::Commit
config:
@@ -493,6 +536,7 @@ x_Dist_Zilla:
allow_dirty:
- Changes
- README.md
+ - README.pod
- LICENSE
- CONTRIBUTING
allow_dirty_match: []
@@ -500,25 +544,25 @@ x_Dist_Zilla:
Dist::Zilla::Role::Git::Repo:
repo_root: .
name: '@Author::ETHER/Git::Commit'
- version: '2.022'
+ version: '2.023'
-
class: Dist::Zilla::Plugin::Git::Tag
config:
Dist::Zilla::Plugin::Git::Tag:
branch: ~
signed: 0
- tag: v1.34
+ tag: v1.36
tag_format: v%v%t
tag_message: v%v%t
time_zone: local
Dist::Zilla::Role::Git::Repo:
repo_root: .
name: '@Author::ETHER/Git::Tag'
- version: '2.022'
+ version: '2.023'
-
class: Dist::Zilla::Plugin::GitHub::Update
name: '@Author::ETHER/GitHub::Update'
- version: '0.36'
+ version: '0.38'
-
class: Dist::Zilla::Plugin::Git::Push
config:
@@ -529,27 +573,22 @@ x_Dist_Zilla:
Dist::Zilla::Role::Git::Repo:
repo_root: .
name: '@Author::ETHER/Git::Push'
- version: '2.022'
- -
- class: Dist::Zilla::Plugin::InstallRelease
- name: '@Author::ETHER/InstallRelease'
- version: '0.008'
+ version: '2.023'
-
- class: Dist::Zilla::Plugin::Prereqs
+ class: Dist::Zilla::Plugin::Run::AfterRelease
config:
- Dist::Zilla::Plugin::Prereqs:
- phase: develop
- type: requires
- name: '@Author::ETHER/via_options'
- version: '5.019'
+ Dist::Zilla::Plugin::Run::Role::Runner:
+ run: REDACTED
+ name: '@Author::ETHER/install release'
+ version: '0.023'
-
class: Dist::Zilla::Plugin::ConfirmRelease
name: '@Author::ETHER/ConfirmRelease'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::DynamicPrereqs
name: DynamicPrereqs
- version: '0.004'
+ version: '0.005'
-
class: Dist::Zilla::Plugin::RemovePrereqs
config:
@@ -562,7 +601,15 @@ x_Dist_Zilla:
- JSON::XS
- Cpanel::JSON::XS
name: RemovePrereqs
- version: '5.019'
+ version: '5.020'
+ -
+ class: Dist::Zilla::Plugin::Prereqs
+ config:
+ Dist::Zilla::Plugin::Prereqs:
+ phase: develop
+ type: recommends
+ name: DevelopRecommends
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Prereqs
config:
@@ -570,47 +617,47 @@ x_Dist_Zilla:
phase: develop
type: requires
name: DevelopRequires
- version: '5.019'
- -
- class: Dist::Zilla::Plugin::ContributorsFromGit
- name: ContributorsFromGit
- version: '0.013'
+ version: '5.020'
-
- class: Dist::Zilla::Plugin::Encoding
- name: Encoding
- version: '5.019'
+ class: Dist::Zilla::Plugin::Test::CleanNamespaces
+ config:
+ Dist::Zilla::Plugin::Test::CleanNamespaces:
+ filename: xt/release/clean-namespaces.t
+ skips: []
+ name: Test::CleanNamespaces
+ version: '0.005'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':InstallModules'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':IncModules'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':TestFiles'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExecFiles'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ShareFiles'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':MainModule'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':AllFiles'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':NoFiles'
- version: '5.019'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::VerifyPhases
name: '@Author::ETHER/PHASE VERIFICATION'
@@ -619,12 +666,12 @@ x_Dist_Zilla:
class: Dist::Zilla::Dist::Builder
config:
is_trial: '0'
- version: '5.019'
+ version: '5.020'
x_authority: cpan:ETHER
x_contributors:
+ - 'Karen Etheridge <ether@cpan.org>'
+ - "יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>"
- 'Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>'
- 'Justin Hunter <justin.d.hunter@gmail.com>'
- - 'Karen Etheridge <ether@cpan.org>'
- - 'Matthew Horsfall <wolfsage@gmail.com>'
- 'Todd Rinaldo <toddr@cpan.org>'
- - "יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>"
+ - 'Matthew Horsfall <wolfsage@gmail.com>'
@@ -1,19 +1,19 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.019.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.020.
use strict;
use warnings;
use 5.008;
-use ExtUtils::MakeMaker 6.30;
+use ExtUtils::MakeMaker ;
my %WriteMakefileArgs = (
- "ABSTRACT" => "Wrapper Class for the various JSON classes.",
+ "ABSTRACT" => "Wrapper Class for the various JSON classes (DEPRECATED)",
"AUTHOR" => "Chris Thompson <cthom\@cpan.org>, Chris Prather <chris\@prather.org>, Robin Berjon <robin\@berjon.com>, Marc Mims <marc\@questright.com>, Tomas Doran <bobtfish\@bobtfish.net>",
"CONFIGURE_REQUIRES" => {
- "ExtUtils::MakeMaker" => "6.30"
+ "ExtUtils::MakeMaker" => 0
},
"DISTNAME" => "JSON-Any",
"EXE_FILES" => [],
@@ -22,24 +22,23 @@ my %WriteMakefileArgs = (
"PREREQ_PM" => {
"Carp" => 0,
"constant" => 0,
+ "namespace::clean" => 0,
"strict" => 0,
"warnings" => 0
},
"TEST_REQUIRES" => {
"Data::Dumper" => 0,
"ExtUtils::MakeMaker" => 0,
- "File::Spec::Functions" => 0,
- "List::Util" => 0,
+ "File::Spec" => 0,
"Storable" => 0,
"Test::Fatal" => 0,
"Test::More" => 0,
"Test::Requires" => 0,
"Test::Warnings" => "0.009",
"Test::Without::Module" => 0,
- "utf8" => 0,
- "version" => 0
+ "utf8" => 0
},
- "VERSION" => "1.34",
+ "VERSION" => "1.36",
"test" => {
"TESTS" => "t/*.t"
}
@@ -50,8 +49,7 @@ my %FallbackPrereqs = (
"Carp" => 0,
"Data::Dumper" => 0,
"ExtUtils::MakeMaker" => 0,
- "File::Spec::Functions" => 0,
- "List::Util" => 0,
+ "File::Spec" => 0,
"Storable" => 0,
"Test::Fatal" => 0,
"Test::More" => 0,
@@ -59,9 +57,9 @@ my %FallbackPrereqs = (
"Test::Warnings" => "0.009",
"Test::Without::Module" => 0,
"constant" => 0,
+ "namespace::clean" => 0,
"strict" => 0,
"utf8" => 0,
- "version" => 0,
"warnings" => 0
);
@@ -1,9 +1,9 @@
This archive contains the distribution JSON-Any,
-version 1.34:
+version 1.36:
- Wrapper Class for the various JSON classes.
+ Wrapper Class for the various JSON classes (DEPRECATED)
This software is copyright (c) 2007 by Chris Thompson.
@@ -11,5 +11,5 @@ 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.019.
+This README file was generated by Dist::Zilla::Plugin::Readme v5.020.
@@ -1,213 +0,0 @@
-# NAME
-
-JSON::Any - Wrapper Class for the various JSON classes.
-
-# VERSION
-
-version 1.34
-
-# SYNOPSIS
-
-This module tries to provide a coherent API to bring together the various JSON
-modules currently on CPAN. This module will allow you to code to any JSON API
-and have it work regardless of which JSON module is actually installed.
-
- use JSON::Any;
-
- my $j = JSON::Any->new;
-
- $json = $j->objToJson({foo=>'bar', baz=>'quux'});
- $obj = $j->jsonToObj($json);
-
-or
-
- $json = $j->encode({foo=>'bar', baz=>'quux'});
- $obj = $j->decode($json);
-
-or
-
- $json = $j->Dump({foo=>'bar', baz=>'quux'});
- $obj = $j->Load($json);
-
-or
-
- $json = $j->to_json({foo=>'bar', baz=>'quux'});
- $obj = $j->from_json($json);
-
-or without creating an object:
-
- $json = JSON::Any->objToJson({foo=>'bar', baz=>'quux'});
- $obj = JSON::Any->jsonToObj($json);
-
-On load, JSON::Any will find a valid JSON module in your @INC by looking
-for them in this order:
-
- Cpanel::JSON::XS
- JSON::XS
- JSON::PP
- JSON
- JSON::DWIW
-
-And loading the first one it finds.
-
-You may change the order by specifying it on the `use JSON::Any` line:
-
- use JSON::Any qw(DWIW XS CPANEL JSON PP);
-
-Specifying an order that is missing modules will prevent those module from
-being used:
-
- use JSON::Any qw(CPANEL PP); # same as JSON::MaybeXS
-
-This will check in that order, and will never attempt to load [JSON::XS](https://metacpan.org/pod/JSON::XS),
-["JSON" in JSON.pm](https://metacpan.org/pod/JSON.pm#JSON), or [JSON::DWIW](https://metacpan.org/pod/JSON::DWIW). This can also be set via the `$ENV{JSON_ANY_ORDER}`
-environment variable.
-
-[JSON::Syck](https://metacpan.org/pod/JSON::Syck) has been deprecated by its author, but in the attempt to still
-stay relevant as a "Compatibility Layer" JSON::Any still supports it. This support
-however has been made optional starting with JSON::Any 1.19. In deference to a
-bug request starting with [JSON.pm](https://metacpan.org/pod/JSON) 1.20, [JSON::Syck](https://metacpan.org/pod/JSON::Syck) and other deprecated modules
-will still be installed, but only as a last resort and will now include a
-warning.
-
- use JSON::Any qw(Syck XS JSON);
-
-or
-
- $ENV{JSON_ANY_ORDER} = 'Syck XS JSON';
-
-At install time, JSON::Any will attempt to install [JSON::PP](https://metacpan.org/pod/JSON::PP) as a reasonable
-fallback if you do not appear have **any** backends installed on your system.
-
-WARNING: If you call JSON::Any with an empty list
-
- use JSON::Any ();
-
-It will skip the JSON package detection routines and will die loudly that it
-couldn't find a package.
-
-# WARNING
-
-[JSON::XS](https://metacpan.org/pod/JSON::XS) 3.0 or higher has a conflict with any version of [JSON.pm](https://metacpan.org/pod/JSON) less than 2.90
-when you use [JSON.pm](https://metacpan.org/pod/JSON)'s `-support_by_pp` option, which JSON::Any enables by
-default.
-
-This situation should only come up with JSON::Any if you have [JSON.pm](https://metacpan.org/pod/JSON) 2.61 or
-lower **and** [JSON::XS](https://metacpan.org/pod/JSON::XS) 3.0 or higher installed, and you use [JSON.pm](https://metacpan.org/pod/JSON)
-via `use JSON::Any qw(JSON);` or the `JSON_ANY_ORDER` environment variable.
-
-If you run into an issue where you're getting recursive inheritance errors in a
-[Types::Serialiser](https://metacpan.org/pod/Types::Serialiser) package, please try upgrading [JSON.pm](https://metacpan.org/pod/JSON) to 2.90 or higher.
-
-# DEPRECATION
-
-The original need for [JSON::Any](https://metacpan.org/pod/JSON::Any) has been solved (quite some time ago
-actually). If you're producing new code it is recommended to use [JSON::MaybeXS](https://metacpan.org/pod/JSON::MaybeXS) which
-will optionally use [Cpanel::JSON::XS](https://metacpan.org/pod/Cpanel::JSON::XS) for speed purposes.
-
-JSON::Any will continue to be maintained for compatibility with existing code,
-but for new code you should strongly consider using [JSON::MaybeXS](https://metacpan.org/pod/JSON::MaybeXS) instead.
-
-# METHODS
-
-- `new`
-
- Will take any of the parameters for the underlying system and pass them
- through. However these values don't map between JSON modules, so, from a
- portability standpoint this is really only helpful for those parameters that
- happen to have the same name. This will be addressed in a future release.
-
- The one parameter that is universally supported (to the extent that is
- supported by the underlying JSON modules) is `utf8`. When this parameter is
- enabled all resulting JSON will be marked as unicode, and all unicode strings
- in the input data structure will be preserved as such.
-
- Also note that the `allow_blessed` parameter is recognised by all the modules
- that throw exceptions when a blessed reference is given them meaning that
- setting it to true works for all modules. Of course, that means that you
- cannot set it to false intentionally in order to always get such exceptions.
-
- The actual output will vary, for example [JSON](https://metacpan.org/pod/JSON) will encode and decode
- unicode chars (the resulting JSON is not unicode) whereas [JSON::XS](https://metacpan.org/pod/JSON::XS) will emit
- unicode JSON.
-
-- `handlerType`
-
- Takes no arguments, returns a string indicating which JSON Module is in use.
-
-- `handler`
-
- Takes no arguments, if called on an object returns the internal JSON::\*
- object in use. Otherwise returns the JSON::\* package we are using for
- class methods.
-
-- `true`
-
- Takes no arguments, returns the special value that the internal JSON
- object uses to map to a JSON `true` boolean.
-
-- `false`
-
- Takes no arguments, returns the special value that the internal JSON
- object uses to map to a JSON `false` boolean.
-
-- `objToJson`
-
- Takes a single argument, a hashref to be converted into JSON.
- It returns the JSON text in a scalar.
-
-- `to_json`
-- `Dump`
-- `encode`
-
- Aliases for `objToJson`, can be used interchangeably, regardless of the
- underlying JSON module.
-
-- `jsonToObj`
-
- Takes a single argument, a string of JSON text to be converted
- back into a hashref.
-
-- `from_json`
-- `Load`
-- `decode`
-
- Aliases for `jsonToObj`, can be used interchangeably, regardless of the
- underlying JSON module.
-
-# ACKNOWLEDGEMENTS
-
-This module came about after discussions on irc.perl.org about the fact
-that there were now six separate JSON perl modules with different interfaces.
-
-In the spirit of Class::Any, JSON::Any was created with the considerable
-help of Matt 'mst' Trout.
-
-Simon Wistow graciously supplied a patch for backwards compatibility with JSON::XS
-versions previous to 2.01
-
-San Dimas High School Football Rules!
-
-# AUTHORS
-
-- Chris Thompson <cthom@cpan.org>
-- Chris Prather <chris@prather.org>
-- Robin Berjon <robin@berjon.com>
-- Marc Mims <marc@questright.com>
-- Tomas Doran <bobtfish@bobtfish.net>
-
-# COPYRIGHT AND LICENSE
-
-This software is copyright (c) 2007 by Chris Thompson.
-
-This is free software; you can redistribute it and/or modify it under
-the same terms as the Perl 5 programming language system itself.
-
-# CONTRIBUTORS
-
-- Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
-- Justin Hunter <justin.d.hunter@gmail.com>
-- Karen Etheridge <ether@cpan.org>
-- Matthew Horsfall <wolfsage@gmail.com>
-- Todd Rinaldo <toddr@cpan.org>
-- יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
@@ -9,7 +9,7 @@ copyright_holder = Chris Thompson
copyright_year = 2007
[@Author::ETHER]
-:version = 0.058
+:version = 0.068
installer = MakeMaker
Test::MinimumVersion.max_target_perl = 5.008
Test::ReportPrereqs.include[0] = JSON
@@ -48,18 +48,16 @@ remove = JSON::Syck
remove = JSON::XS
remove = Cpanel::JSON::XS
-[Prereqs / DevelopRequires]
-JSON = 2.90
+[Prereqs / DevelopRecommends]
JSON::PP = 0
JSON::DWIW = 0
JSON::Syck = 0
JSON::XS = 0
+
+[Prereqs / DevelopRequires]
+JSON = 2.90
Cpanel::JSON::XS = 0
; authordep Pod::Weaver::Section::Contributors
-[ContributorsFromGit]
-
-[Encoding]
-encoding = latin1
-filename = t/04-ENV.t
+[Test::CleanNamespaces]
@@ -1,15 +1,14 @@
package JSON::Any;
-BEGIN {
- $JSON::Any::AUTHORITY = 'cpan:ETHER';
-}
-# git description: v1.33-7-g26708bf
-$JSON::Any::VERSION = '1.34';
+# git description: v1.35-13-g383eebf
+$JSON::Any::VERSION = '1.36';
use warnings;
use strict;
use Carp qw(croak carp);
+use namespace::clean;
-# ABSTRACT: Wrapper Class for the various JSON classes.
+# ABSTRACT: Wrapper Class for the various JSON classes (DEPRECATED)
+# KEYWORDS: json serialization serialisation wrapper abstraction
our $UTF8;
@@ -307,6 +306,22 @@ sub _module_name_list {
#pod =head1 SYNOPSIS
#pod
+#pod use JSON::Any;
+#pod my $j = JSON::Any->new;
+#pod my $json = $j->objToJson({foo=>'bar', baz=>'quux'});
+#pod my $obj = $j->jsonToObj($json);
+#pod
+#pod =head1 DEPRECATION NOTICE
+#pod
+#pod The original need for L<JSON::Any> has been solved (quite some time ago
+#pod actually). If you're producing new code it is recommended to use L<JSON::MaybeXS> which
+#pod will optionally use L<Cpanel::JSON::XS> for speed purposes.
+#pod
+#pod JSON::Any will continue to be maintained for compatibility with existing code,
+#pod but for new code you should strongly consider using L<JSON::MaybeXS> instead.
+#pod
+#pod =head1 DESCRIPTION
+#pod
#pod This module tries to provide a coherent API to bring together the various JSON
#pod modules currently on CPAN. This module will allow you to code to any JSON API
#pod and have it work regardless of which JSON module is actually installed.
@@ -398,15 +413,6 @@ sub _module_name_list {
#pod If you run into an issue where you're getting recursive inheritance errors in a
#pod L<Types::Serialiser> package, please try upgrading L<JSON.pm|JSON> to 2.90 or higher.
#pod
-#pod =head1 DEPRECATION
-#pod
-#pod The original need for L<JSON::Any> has been solved (quite some time ago
-#pod actually). If you're producing new code it is recommended to use L<JSON::MaybeXS> which
-#pod will optionally use L<Cpanel::JSON::XS> for speed purposes.
-#pod
-#pod JSON::Any will continue to be maintained for compatibility with existing code,
-#pod but for new code you should strongly consider using L<JSON::MaybeXS> instead.
-#pod
#pod =head1 METHODS
#pod
#pod =over
@@ -418,7 +424,7 @@ sub _module_name_list {
#pod Will take any of the parameters for the underlying system and pass them
#pod through. However these values don't map between JSON modules, so, from a
#pod portability standpoint this is really only helpful for those parameters that
-#pod happen to have the same name. This will be addressed in a future release.
+#pod happen to have the same name.
#pod
#pod The one parameter that is universally supported (to the extent that is
#pod supported by the underlying JSON modules) is C<utf8>. When this parameter is
@@ -443,11 +449,13 @@ sub new {
my $self = bless [], $class;
my $key = _make_key($handler);
if ( my $creator = $conf{$key}->{create_object} ) {
- my @config = @_;
+ my @config;
+ # undocumented! and yet, people are using this...
if ( $ENV{JSON_ANY_CONFIG} ) {
push @config, map { split /=/, $_ } split /,\s*/,
$ENV{JSON_ANY_CONFIG};
}
+ push @config, @_;
$creator->( $self, my $conf = {@config} );
$self->[UTF8] = $conf->{utf8};
}
@@ -648,14 +656,21 @@ __END__
=head1 NAME
-JSON::Any - Wrapper Class for the various JSON classes.
+JSON::Any - Wrapper Class for the various JSON classes (DEPRECATED)
=head1 VERSION
-version 1.34
+version 1.36
=head1 SYNOPSIS
+ use JSON::Any;
+ my $j = JSON::Any->new;
+ my $json = $j->objToJson({foo=>'bar', baz=>'quux'});
+ my $obj = $j->jsonToObj($json);
+
+=head1 DESCRIPTION
+
This module tries to provide a coherent API to bring together the various JSON
modules currently on CPAN. This module will allow you to code to any JSON API
and have it work regardless of which JSON module is actually installed.
@@ -734,6 +749,15 @@ WARNING: If you call JSON::Any with an empty list
It will skip the JSON package detection routines and will die loudly that it
couldn't find a package.
+=head1 DEPRECATION NOTICE
+
+The original need for L<JSON::Any> has been solved (quite some time ago
+actually). If you're producing new code it is recommended to use L<JSON::MaybeXS> which
+will optionally use L<Cpanel::JSON::XS> for speed purposes.
+
+JSON::Any will continue to be maintained for compatibility with existing code,
+but for new code you should strongly consider using L<JSON::MaybeXS> instead.
+
=head1 WARNING
L<JSON::XS> 3.0 or higher has a conflict with any version of L<JSON.pm|JSON> less than 2.90
@@ -747,15 +771,6 @@ via C<< use JSON::Any qw(JSON); >> or the C<JSON_ANY_ORDER> environment variable
If you run into an issue where you're getting recursive inheritance errors in a
L<Types::Serialiser> package, please try upgrading L<JSON.pm|JSON> to 2.90 or higher.
-=head1 DEPRECATION
-
-The original need for L<JSON::Any> has been solved (quite some time ago
-actually). If you're producing new code it is recommended to use L<JSON::MaybeXS> which
-will optionally use L<Cpanel::JSON::XS> for speed purposes.
-
-JSON::Any will continue to be maintained for compatibility with existing code,
-but for new code you should strongly consider using L<JSON::MaybeXS> instead.
-
=head1 METHODS
=over
@@ -767,7 +782,7 @@ but for new code you should strongly consider using L<JSON::MaybeXS> instead.
Will take any of the parameters for the underlying system and pass them
through. However these values don't map between JSON modules, so, from a
portability standpoint this is really only helpful for those parameters that
-happen to have the same name. This will be addressed in a future release.
+happen to have the same name.
The one parameter that is universally supported (to the extent that is
supported by the underlying JSON modules) is C<utf8>. When this parameter is
@@ -915,23 +930,25 @@ the same terms as the Perl 5 programming language system itself.
=head1 CONTRIBUTORS
+=for stopwords Karen Etheridge יובל קוג'מן (Yuval Kogman) Dagfinn Ilmari Mannsåker Justin Hunter Todd Rinaldo Matthew Horsfall
+
=over 4
=item *
-Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
+Karen Etheridge <ether@cpan.org>
=item *
-Justin Hunter <justin.d.hunter@gmail.com>
+יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
=item *
-Karen Etheridge <ether@cpan.org>
+Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
=item *
-Matthew Horsfall <wolfsage@gmail.com>
+Justin Hunter <justin.d.hunter@gmail.com>
=item *
@@ -939,7 +956,7 @@ Todd Rinaldo <toddr@cpan.org>
=item *
-יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
+Matthew Horsfall <wolfsage@gmail.com>
=back
@@ -8,13 +8,11 @@ BEGIN {
# Count who's installed
my @order = qw(Cpanel::JSON::XS JSON::XS JSON::PP JSON JSON::DWIW JSON::Syck);
- my $count = scalar grep { eval "require $_"; not $@; } @order;
+ my $count = scalar grep { eval "require $_"; 1; } @order;
- unless ($count) { # need at least one
- plan skip_all => "Can't find a JSON package.";
- }
+ ok($count, 'have at least one JSON backend installed');
- # if we're here we have *something* that will work
+ # we should have installed a backend if one wasn't already present
use_ok('JSON::Any');
}
@@ -0,0 +1,133 @@
+do { my $x = {
+ 'configure' => {
+ 'requires' => {
+ 'ExtUtils::MakeMaker' => '0'
+ }
+ },
+ 'develop' => {
+ 'recommends' => {
+ 'Dist::Zilla::PluginBundle::Author::ETHER' => '0.072',
+ 'JSON::DWIW' => '0',
+ 'JSON::PP' => '0',
+ 'JSON::Syck' => '0',
+ 'JSON::XS' => '0'
+ },
+ 'requires' => {
+ 'Cpanel::JSON::XS' => '0',
+ 'Dist::Zilla' => '5',
+ 'Dist::Zilla::Plugin::Authority' => '0',
+ 'Dist::Zilla::Plugin::AutoMetaResources' => '0',
+ 'Dist::Zilla::Plugin::AutoPrereqs' => '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::DynamicPrereqs' => '0',
+ 'Dist::Zilla::Plugin::EOLTests' => '0',
+ 'Dist::Zilla::Plugin::ExecDir' => '0',
+ 'Dist::Zilla::Plugin::FileFinder::ByName' => '0',
+ 'Dist::Zilla::Plugin::GenerateFile::ShareDir' => '0',
+ 'Dist::Zilla::Plugin::Git::Check' => '0',
+ 'Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch' => '0.004',
+ 'Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts' => '0',
+ 'Dist::Zilla::Plugin::Git::Commit' => '2.020',
+ 'Dist::Zilla::Plugin::Git::Contributors' => '0.004',
+ 'Dist::Zilla::Plugin::Git::Describe' => '0',
+ 'Dist::Zilla::Plugin::Git::GatherDir' => '2.016',
+ 'Dist::Zilla::Plugin::Git::NextVersion' => '0',
+ '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::GithubMeta' => '0',
+ 'Dist::Zilla::Plugin::InstallGuide' => '0',
+ 'Dist::Zilla::Plugin::Keywords' => '0.004',
+ '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::MetaNoIndex' => '0',
+ 'Dist::Zilla::Plugin::MetaProvides::Package' => '1.15000002',
+ 'Dist::Zilla::Plugin::MetaTests' => '0',
+ 'Dist::Zilla::Plugin::MetaYAML' => '0',
+ 'Dist::Zilla::Plugin::MinimumPerl' => '0',
+ 'Dist::Zilla::Plugin::MojibakeTests' => '0',
+ 'Dist::Zilla::Plugin::NextRelease' => '4.300018',
+ 'Dist::Zilla::Plugin::PkgVersion' => '5.010',
+ 'Dist::Zilla::Plugin::PodCoverageTests' => '0',
+ 'Dist::Zilla::Plugin::PodSyntaxTests' => '0',
+ 'Dist::Zilla::Plugin::PodWeaver' => '0',
+ 'Dist::Zilla::Plugin::Prereqs' => '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::Run::AfterBuild' => '0',
+ 'Dist::Zilla::Plugin::Run::AfterRelease' => '0',
+ 'Dist::Zilla::Plugin::RunExtraTests' => '0.019',
+ 'Dist::Zilla::Plugin::ShareDir' => '0',
+ 'Dist::Zilla::Plugin::Test::CPAN::Changes' => '0.008',
+ 'Dist::Zilla::Plugin::Test::ChangesHasContent' => '0',
+ 'Dist::Zilla::Plugin::Test::CleanNamespaces' => '0',
+ 'Dist::Zilla::Plugin::Test::Compile' => '2.039',
+ 'Dist::Zilla::Plugin::Test::Kwalitee' => '0',
+ 'Dist::Zilla::Plugin::Test::MinimumVersion' => '2.000003',
+ 'Dist::Zilla::Plugin::Test::NoTabs' => '0',
+ 'Dist::Zilla::Plugin::Test::Pod::No404s' => '0',
+ 'Dist::Zilla::Plugin::Test::PodSpelling' => '0',
+ 'Dist::Zilla::Plugin::Test::Portability' => '0',
+ 'Dist::Zilla::Plugin::Test::ReportPrereqs' => '0',
+ 'Dist::Zilla::Plugin::TestRelease' => '0',
+ 'Dist::Zilla::Plugin::UploadToCPAN' => '0',
+ 'Dist::Zilla::PluginBundle::Author::ETHER' => '0.068',
+ 'File::Spec' => '0',
+ 'IO::Handle' => '0',
+ 'IPC::Open3' => '0',
+ 'JSON' => '2.90',
+ 'Pod::Coverage::TrustPod' => '0',
+ 'Pod::Weaver::Section::Contributors' => '0',
+ 'Test::CPAN::Changes' => '0.19',
+ 'Test::CPAN::Meta' => '0',
+ 'Test::CleanNamespaces' => '0.15',
+ 'Test::Kwalitee' => '1.21',
+ 'Test::More' => '0.94',
+ 'Test::NoTabs' => '0',
+ 'Test::Pod' => '1.41',
+ 'Test::Pod::Coverage' => '1.08',
+ 'Test::Spelling' => '0.12'
+ }
+ },
+ 'runtime' => {
+ 'requires' => {
+ 'Carp' => '0',
+ 'constant' => '0',
+ 'namespace::clean' => '0',
+ 'perl' => '5.008',
+ 'strict' => '0',
+ 'warnings' => '0'
+ }
+ },
+ 'test' => {
+ 'recommends' => {
+ 'CPAN::Meta' => '2.120900'
+ },
+ 'requires' => {
+ 'Data::Dumper' => '0',
+ 'ExtUtils::MakeMaker' => '0',
+ 'File::Spec' => '0',
+ 'Storable' => '0',
+ 'Test::Fatal' => '0',
+ 'Test::More' => '0',
+ 'Test::Requires' => '0',
+ 'Test::Warnings' => '0.009',
+ 'Test::Without::Module' => '0',
+ 'utf8' => '0'
+ }
+ }
+ };
+ $x;
+ }
\ No newline at end of file
@@ -3,37 +3,63 @@
use strict;
use warnings;
-# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.013
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.019
use Test::More tests => 1;
use ExtUtils::MakeMaker;
-use File::Spec::Functions;
-use List::Util qw/max/;
-use version;
+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_req = "CPAN::Meta::Requirements";
-my $HAS_CPAN_META = eval "require $cpan_meta"; ## no critic
-my $HAS_CPAN_META_REQ = eval "require $cpan_meta_req; $cpan_meta_req->VERSION('2.120900')";
+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 _merge_requires {
+sub _max {
+ my $max = shift;
+ $max = ( $_ > $max ) ? $_ : $max for @_;
+ return $max;
+}
+
+sub _merge_prereqs {
my ($collector, $prereqs) = @_;
- for my $phase ( qw/configure build test runtime develop/ ) {
- next unless exists $prereqs->{$phase};
- if ( my $req = $prereqs->{$phase}{'requires'} ) {
- my $cmr = CPAN::Meta::Requirements->from_string_hash( $req );
- $collector->add_requirements( $cmr );
+
+ # 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 = map {; $_ => 1 } qw(
+my @include = qw(
JSON
JSON::PP
JSON::DWIW
@@ -43,169 +69,112 @@ my %include = map {; $_ => 1 } qw(
JSON::MaybeXS
);
-my %exclude = map {; $_ => 1 } qw(
+my @exclude = qw(
);
# Add static prereqs to the included modules list
-my $static_prereqs = do { my $x = {
- 'configure' => {
- 'requires' => {
- 'ExtUtils::MakeMaker' => '6.30'
- }
- },
- 'develop' => {
- 'recommends' => {
- 'Dist::Zilla::PluginBundle::Author::ETHER' => '0.064'
- },
- 'requires' => {
- 'Cpanel::JSON::XS' => '0',
- 'Dist::Zilla' => '5',
- 'Dist::Zilla::Plugin::ContributorsFromGit' => '0',
- 'Dist::Zilla::Plugin::DynamicPrereqs' => '0',
- 'Dist::Zilla::Plugin::Encoding' => '0',
- 'Dist::Zilla::Plugin::GitHub::Update' => '0',
- 'Dist::Zilla::Plugin::GithubMeta' => '0',
- 'Dist::Zilla::Plugin::MakeMaker' => '0',
- 'Dist::Zilla::Plugin::Prereqs' => '0',
- 'Dist::Zilla::Plugin::RemovePrereqs' => '0',
- 'Dist::Zilla::PluginBundle::Author::ETHER' => '0.058',
- 'File::Spec' => '0',
- 'IO::Handle' => '0',
- 'IPC::Open3' => '0',
- 'JSON' => '2.90',
- 'JSON::DWIW' => '0',
- 'JSON::PP' => '0',
- 'JSON::Syck' => '0',
- 'JSON::XS' => '0',
- 'Pod::Coverage::TrustPod' => '0',
- 'Pod::Weaver::Section::Contributors' => '0',
- 'Test::CPAN::Changes' => '0.19',
- 'Test::CPAN::Meta' => '0',
- 'Test::Kwalitee' => '1.12',
- 'Test::More' => '0.94',
- 'Test::NoTabs' => '0',
- 'Test::Pod' => '1.41',
- 'Test::Pod::Coverage' => '1.08'
- }
- },
- 'runtime' => {
- 'requires' => {
- 'Carp' => '0',
- 'constant' => '0',
- 'perl' => '5.008',
- 'strict' => '0',
- 'warnings' => '0'
- }
- },
- 'test' => {
- 'recommends' => {
- 'CPAN::Meta' => '0',
- 'CPAN::Meta::Requirements' => '2.120900'
- },
- 'requires' => {
- 'Data::Dumper' => '0',
- 'ExtUtils::MakeMaker' => '0',
- 'File::Spec::Functions' => '0',
- 'List::Util' => '0',
- 'Storable' => '0',
- 'Test::Fatal' => '0',
- 'Test::More' => '0',
- 'Test::Requires' => '0',
- 'Test::Warnings' => '0.009',
- 'Test::Without::Module' => '0',
- 'utf8' => '0',
- 'version' => '0'
- }
- }
- };
- $x;
- };
-
-delete $static_prereqs->{develop} if not $ENV{AUTHOR_TESTING};
-$include{$_} = 1 for map { keys %$_ } map { values %$_ } values %$static_prereqs;
-
-# Merge requirements for major phases (if we can)
-my $all_requires;
-if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META_REQ ) {
- $all_requires = $cpan_meta_req->new;
- _merge_requires($all_requires, $static_prereqs);
-}
+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) } ) {
- my $dynamic_prereqs = $meta->prereqs;
- delete $dynamic_prereqs->{develop} if not $ENV{AUTHOR_TESTING};
- $include{$_} = 1 for map { keys %$_ } map { values %$_ } values %$dynamic_prereqs;
-
- if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META_REQ ) {
- _merge_requires($all_requires, $dynamic_prereqs);
+ if ( my $meta = eval { CPAN::Meta->load_file($source) } ) {
+ $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
}
- }
}
else {
- $source = 'static metadata';
+ $source = 'static metadata';
}
-my @modules = sort grep { ! $exclude{$_} } keys %include;
-my @reports = [qw/Version Module/];
+my @full_reports;
my @dep_errors;
-my $req_hash = defined($all_requires) ? $all_requires->as_string_hash : {};
-
-for my $mod ( @modules ) {
- next if $mod eq 'perl';
- my $file = $mod;
- $file =~ s{::}{/}g;
- $file .= ".pm";
- my ($prefix) = grep { -e catfile($_, $file) } @INC;
- if ( $prefix ) {
- my $ver = MM->parse_version( catfile($prefix, $file) );
- $ver = "undef" unless defined $ver; # Newer MM should do this anyway
- push @reports, [$ver, $mod];
-
- if ( $DO_VERIFY_PREREQS && $all_requires ) {
- my $req = $req_hash->{$mod};
- if ( defined $req && length $req ) {
- if ( ! defined eval { version->parse($ver) } ) {
- push @dep_errors, "$mod version '$ver' cannot be parsed (version '$req' required)";
- }
- elsif ( ! $all_requires->accepts_module( $mod => $ver ) ) {
- push @dep_errors, "$mod version '$ver' is not in required range '$req'";
+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)";
+ }
+ }
}
- }
- }
- }
- else {
- push @reports, ["missing", $mod];
+ if ( @reports ) {
+ push @full_reports, "=== $title ===\n\n";
- if ( $DO_VERIFY_PREREQS && $all_requires ) {
- my $req = $req_hash->{$mod};
- if ( defined $req && length $req ) {
- push @dep_errors, "$mod is not installed (version '$req' required)";
- }
+ 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 ( @reports ) {
- my $vl = max map { length $_->[0] } @reports;
- my $ml = max map { length $_->[1] } @reports;
- splice @reports, 1, 0, ["-" x $vl, "-" x $ml];
- diag "\nVersions for all modules listed in $source (including optional ones):\n",
- map {sprintf(" %*s %*s\n",$vl,$_->[0],-$ml,$_->[1])} @reports;
+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"
- );
+ 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;
@@ -1,4 +1,3 @@
-$|++;
use strict;
use Test::More;
use Test::Without::Module qw(JSON::XS);
@@ -13,6 +12,8 @@ ok(my $json_obj = JSON::Any->new());
isa_ok($json_obj, 'JSON::Any');
isa_ok($json_obj->handler, 'JSON');
+is(JSON::Any->handlerType, 'JSON');
+
$js = q|{}|;
$obj = $json_obj->jsonToObj($js);
$js = $json_obj->objToJson($obj);
@@ -1,5 +1,3 @@
-#!perl
-
use utf8;
use strict;
use warnings;
@@ -2,39 +2,49 @@ use strict;
use warnings;
use Test::More;
+use Test::Fatal;
+use JSON::Any;
-eval "use JSON::Any";
-plan skip_all => "$@" if $@;
+my $has_cpanel = eval { require Cpanel::JSON::XS; 1 };
+my $has_json_xs; $has_json_xs = eval { require JSON::XS; 1 } if not $has_cpanel;
-SKIP: {
- eval { require JSON; };
- skip "JSON not installed: $@", 1 if $@;
+plan skip_all => 'Cpanel::JSON::XS nor JSON::XS are installed', 1
+ if not $has_cpanel and not $has_json_xs;
- $ENV{JSON_ANY_ORDER} = qw(JSON);
- JSON::Any->import();
- skip "JSON not installed: $@", 1 if $@;
- is_deeply( $ENV{JSON_ANY_ORDER}, qw(JSON) );
- is( JSON::Any->handlerType, 'JSON' );
-}
-
-SKIP: {
- eval { require JSON::XS; };
- skip "JSON::XS not installed: $@", 1 if $@;
-
- $ENV{JSON_ANY_ORDER} = qw(XS);
+{
+ $ENV{JSON_ANY_ORDER} = 'CPANEL XS';
JSON::Any->import();
- is( JSON::Any->handlerType, 'JSON::XS' );
+ is(
+ JSON::Any->handlerType,
+ ($has_cpanel ? 'Cpanel::' : '') . 'JSON::XS',
+ 'got the right handlerType',
+ );
my ($json);
- ok( $json = JSON::Any->new() );
- eval { $json->encode("ü") };
- ok( $@, 'trapped a failure' );
- undef $@;
+ ok( $json = JSON::Any->new(), 'got a JSON::Any object' );
+ like(
+ exception { $json->encode("dahut") },
+ qr/use allow_nonref/,
+ 'trapped a failure because of a non-reference',
+ );
+
$ENV{JSON_ANY_CONFIG} = 'allow_nonref=1';
- ok( $json = JSON::Any->new() );
- ok( $json->encode("dahut"), qq["dahut"] );
- is( $@, undef, 'no failure' );
+ ok( $json = JSON::Any->new(), 'got another JSON::Any object' );
+
+ is(
+ exception { ok( $json->encode("dahut"), 'got the same data back again' ) },
+ undef,
+ 'no failure with config change',
+ );
+
+ ok( $json = JSON::Any->new(allow_nonref => 0), 'got another JSON::Any object' );
+
+ like(
+ exception { $json->encode("dahut") },
+ qr/use allow_nonref/,
+ 'trapped a failure because the constructor option overrides the environment variable',
+ );
}
done_testing;
@@ -1,4 +1,3 @@
-$|++;
use strict;
use warnings;
@@ -1,12 +1,9 @@
-$|++;
use strict;
use warnings;
use utf8;
use Test::More;
-
-eval "use JSON::Any";
-plan skip_all => "$@" if $@;
+use JSON::Any;
$ENV{JSON_ANY_CONFIG} = "utf8=1";
@@ -1,16 +1,10 @@
-$!++;
use strict;
use warnings;
-use Data::Dumper;
use Test::More;
-
use Storable;
-eval "use JSON::Any";
-plan skip_all => "$@" if $@;
-
-$Data::Dumper::Indent = 0;
-$Data::Dumper::Terse = 1;
+use Data::Dumper;
+use JSON::Any;
my @round_trip = (
'"\""',
@@ -41,14 +35,14 @@ my %one_way = (
sub test {
my ($backend) = @_;
+
my $j = eval {
JSON::Any->import($backend);
JSON::Any->new;
};
- note "$backend: " . $@ and next if $@;
-
- $j and $j->handler or next;
+ note "$backend: " . $@ and return if $@;
+ $j and $j->handler or return;
note "handler is " . ( ref( $j->handler ) || $j->handlerType );
@@ -62,6 +56,9 @@ sub test {
s/([,:]) /$1/eg;
}
+ local $Data::Dumper::Indent = 0;
+ local $Data::Dumper::Terse = 1;
+
my $desc = "roundtrip $test -> " . Dumper($data) . " -> $json";
utf8::encode($desc);
is $json, $test, $desc;
@@ -72,6 +69,9 @@ sub test {
my $test = "[$encoded]";
my $data = eval { JSON::Any->jsonToObj($test) };
+ local $Data::Dumper::Indent = 0;
+ local $Data::Dumper::Terse = 1;
+
my $desc = "oneway $test -> " . Dumper($data);
utf8::encode($desc);
is $data->[0], $expected, $desc;
@@ -1,18 +1,12 @@
-$!++;
use strict;
use warnings;
use Test::More;
-
-eval "use JSON::Any";
-plan skip_all => "$@" if $@;
-
-use Data::Dumper;
-$Data::Dumper::Indent = 0;
-$Data::Dumper::Terse = 1;
+use Test::Fatal;
+use JSON::Any;
# JSON::Syck doesn't support bools
-my @backends = qw(XS JSON DWIW);
+my @backends = qw(CPANEL XS JSON DWIW);
# make sure we test the JSON::PP backend instead of XS, twice
$ENV{PERL_JSON_BACKEND} = 0;
@@ -44,13 +38,22 @@ sub test {
note "handler is " . ( ref( $j->handler ) || $j->handlerType );
for my $bool ( qw/true false/ ) {
- my $data = eval { JSON::Any->jsonToObj($bool) };
- ok ( !$@, "inflated '$bool'" );
- ok ( eval { $data xor !Boolean->$bool }, "$bool evaluates to $bool" );
-
- $data = eval { JSON::Any->$bool };
- ok ( !$@, "JSON::Any->$bool returned a value" );
- ok ( eval { $data xor !Boolean->$bool }, "JSON::Any->$bool evaluates to $bool" );
+ my $data;
+ is(
+ exception { $data = JSON::Any->jsonToObj($bool) },
+ undef,
+ "inflated '$bool'",
+ );
+
+ cmp_ok( $data, 'xor', !Boolean->$bool, "$bool evaluates to $bool" );
+
+ is(
+ exception { $data = JSON::Any->$bool },
+ undef,
+ "JSON::Any->$bool returned a value",
+ );
+
+ cmp_ok( $data, 'xor', !Boolean->$bool, "JSON::Any->$bool evaluates to $bool" );
}
};
}
@@ -4,8 +4,7 @@ use warnings;
use Test::More;
use Test::Fatal;
-eval { require JSON::Any; };
-plan skip_all => "$@" if $@;
+require JSON::Any;
use Test::Without::Module qw(Cpanel::JSON::XS JSON::XS JSON::DWIW JSON JSON::PP JSON::Syck);
@@ -4,8 +4,7 @@ use warnings;
use Test::More;
use Test::Warnings 0.009 qw(:no_end_test :all);
-eval { require JSON::Any; };
-plan skip_all => "$@" if $@;
+require JSON::Any;
use Test::Requires 'JSON::Syck';
@@ -2,7 +2,7 @@ use 5.006;
use strict;
use warnings;
-# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.040
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.046
use Test::More 0.94 tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
@@ -45,6 +45,6 @@ for my $lib (@module_files)
-is(scalar(@warnings), 0, 'no warnings found') if $ENV{AUTHOR_TESTING};
+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,44 @@
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::NoTabs 0.09
+
+use Test::More 0.88;
+use Test::NoTabs;
+
+my @files = (
+ 'lib/JSON/Any.pm',
+ 't/00-load.t',
+ 't/00-report-prereqs.dd',
+ 't/00-report-prereqs.t',
+ 't/01-JSON.t',
+ 't/02-JSON-XS.t',
+ 't/03-JSON-DWIW.t',
+ 't/04-ENV.t',
+ 't/05-JSON-Syck.t',
+ 't/06-JSON-PP.t',
+ 't/07-CPanel-JSON-XS.t',
+ 't/10_unicode.t',
+ 't/11-string-escape.t',
+ 't/12-boolean.t',
+ 't/13-no-backends.t',
+ 't/14-deprecated.t',
+ 'xt/author/00-compile.t',
+ 'xt/author/no-tabs.t',
+ 'xt/author/pod-spell.t',
+ 'xt/release/changes_has_content.t',
+ 'xt/release/clean-namespaces.t',
+ 'xt/release/cpan-changes.t',
+ 'xt/release/distmeta.t',
+ 'xt/release/eol.t',
+ 'xt/release/kwalitee.t',
+ 'xt/release/minimum-version.t',
+ 'xt/release/mojibake.t',
+ 'xt/release/pod-coverage.t',
+ 'xt/release/pod-no404s.t',
+ 'xt/release/pod-syntax.t',
+ 'xt/release/portability.t'
+);
+
+notabs_ok($_) foreach @files;
+done_testing;
@@ -2,7 +2,7 @@ use strict;
use warnings;
use Test::More;
-# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.006007
+# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.006008
use Test::Spelling 0.12;
use Pod::Wordlist;
@@ -24,6 +24,14 @@ marc
Tomas
Doran
bobtfish
+Karen
+Etheridge
+ether
+יובל
+קוג
+Yuval
+Kogman
+nothingmuch
Dagfinn
Ilmari
Mannsåker
@@ -31,20 +39,12 @@ ilmari
Justin
Hunter
justin
-Karen
-Etheridge
-ether
-Matthew
-Horsfall
-wolfsage
Todd
Rinaldo
toddr
-יובל
-קוג
-Yuval
-Kogman
-nothingmuch
+Matthew
+Horsfall
+wolfsage
lib
JSON
Any
@@ -4,7 +4,7 @@ use Test::More tests => 2;
note 'Checking Changes';
my $changes_file = 'Changes';
-my $newver = '1.34';
+my $newver = '1.36';
my $trial_token = '-TRIAL';
SKIP: {
@@ -0,0 +1,11 @@
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::CleanNamespaces 0.005
+
+use Test::More 0.94;
+use Test::CleanNamespaces 0.15;
+
+subtest all_namespaces_clean => sub { all_namespaces_clean() };
+
+done_testing;
@@ -1,4 +1,9 @@
-# this test was generated with Dist::Zilla::Plugin::Test::Kwalitee 2.07
+# this test was generated with Dist::Zilla::Plugin::Test::Kwalitee 2.10
use strict;
use warnings;
-use Test::Kwalitee;
+use Test::More 0.88;
+use Test::Kwalitee 1.21 'kwalitee_ok';
+
+kwalitee_ok();
+
+done_testing;
@@ -1,42 +0,0 @@
-use strict;
-use warnings;
-
-# this test was generated with Dist::Zilla::Plugin::Test::NoTabs 0.08
-
-use Test::More 0.88;
-use Test::NoTabs;
-
-my @files = (
- 'lib/JSON/Any.pm',
- 't/00-load.t',
- 't/00-report-prereqs.t',
- 't/01-JSON.t',
- 't/02-JSON-XS.t',
- 't/03-JSON-DWIW.t',
- 't/04-ENV.t',
- 't/05-JSON-Syck.t',
- 't/06-JSON-PP.t',
- 't/07-CPanel-JSON-XS.t',
- 't/10_unicode.t',
- 't/11-string-escape.t',
- 't/12-boolean.t',
- 't/13-no-backends.t',
- 't/14-deprecated.t',
- 'xt/author/00-compile.t',
- 'xt/author/pod-spell.t',
- 'xt/release/changes_has_content.t',
- 'xt/release/cpan-changes.t',
- 'xt/release/distmeta.t',
- 'xt/release/eol.t',
- 'xt/release/kwalitee.t',
- 'xt/release/minimum-version.t',
- 'xt/release/mojibake.t',
- 'xt/release/no-tabs.t',
- 'xt/release/pod-coverage.t',
- 'xt/release/pod-no404s.t',
- 'xt/release/pod-syntax.t',
- 'xt/release/portability.t'
-);
-
-notabs_ok($_) foreach @files;
-done_testing;