@@ -1,5 +1,9 @@
Revision history for Throwable
+0.200012 2014-09-19 21:59:28-04:00 America/New_York
+ - avoid memory leaks and infinite recursion when stringifying
+ (thanks, Dagfinn Ilmari Mannsåker!)
+
0.200011 2014-04-02 20:49:49-04:00 America/New_York
- eliminate prereq on Class::Load (thanks, Toby Inkster!)
- eliminate preqre on MooX::Types::MooseLike::Base (Toby Inkster)
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.015.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.020.
Changes
LICENSE
MANIFEST
@@ -10,7 +10,7 @@ dist.ini
lib/StackTrace/Auto.pm
lib/Throwable.pm
lib/Throwable/Error.pm
-t/00-report-prereqs.t
+t/000-report-versions-tiny.t
t/basic.t
xt/memory-leak.t
xt/moose-coerce-class.t
@@ -5,7 +5,7 @@
"Florian Ragwitz <rafl@debian.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 5.015, CPAN::Meta::Converter version 2.140640",
+ "generated_by" : "Dist::Zilla version 5.020, CPAN::Meta::Converter version 2.142060",
"license" : [
"perl_5"
],
@@ -17,18 +17,19 @@
"prereqs" : {
"configure" : {
"requires" : {
- "ExtUtils::MakeMaker" : "6.30"
+ "ExtUtils::MakeMaker" : "0"
}
},
"develop" : {
"requires" : {
- "Test::Pod" : "1.41"
+ "Test::Pod" : "1.41",
+ "version" : "0.9901"
}
},
"runtime" : {
"requires" : {
"Carp" : "0",
- "Devel::StackTrace" : "1.21",
+ "Devel::StackTrace" : "1.32",
"Module::Runtime" : "0.002",
"Moo" : "1.000001",
"Moo::Role" : "0",
@@ -38,17 +39,11 @@
}
},
"test" : {
- "recommends" : {
- "CPAN::Meta" : "0",
- "CPAN::Meta::Requirements" : "2.120900"
- },
"requires" : {
- "ExtUtils::MakeMaker" : "0",
- "File::Spec::Functions" : "0",
- "List::Util" : "0",
+ "Devel::StackTrace" : "1.32",
"Test::More" : "0.96",
+ "base" : "0",
"strict" : "0",
- "version" : "0",
"warnings" : "0"
}
}
@@ -65,26 +60,34 @@
"web" : "https://github.com/rjbs/Throwable"
}
},
- "version" : "0.200011",
+ "version" : "0.200012",
"x_Dist_Zilla" : {
"perl" : {
- "version" : "5.019010"
+ "version" : "5.021003"
},
"plugins" : [
{
"class" : "Dist::Zilla::Plugin::Git::GatherDir",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::GatherDir" : {
+ "include_untracked" : "0"
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
"name" : "@RJBS/Git::GatherDir",
- "version" : "2.020"
+ "version" : "2.024"
},
{
"class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
"name" : "@RJBS/CheckPrereqsIndexed",
- "version" : "0.011"
+ "version" : "0.012"
},
{
"class" : "Dist::Zilla::Plugin::CheckExtraTests",
"name" : "@RJBS/CheckExtraTests",
- "version" : "0.021"
+ "version" : "0.022"
},
{
"class" : "Dist::Zilla::Plugin::PromptIfStale",
@@ -100,7 +103,7 @@
}
},
"name" : "@RJBS/RJBS-Outdated",
- "version" : "0.021"
+ "version" : "0.026"
},
{
"class" : "Dist::Zilla::Plugin::PromptIfStale",
@@ -114,62 +117,62 @@
}
},
"name" : "@RJBS/CPAN-Outdated",
- "version" : "0.021"
+ "version" : "0.026"
},
{
"class" : "Dist::Zilla::Plugin::PruneCruft",
"name" : "@RJBS/@Filter/PruneCruft",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::ManifestSkip",
"name" : "@RJBS/@Filter/ManifestSkip",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::MetaYAML",
"name" : "@RJBS/@Filter/MetaYAML",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::License",
"name" : "@RJBS/@Filter/License",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Readme",
"name" : "@RJBS/@Filter/Readme",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::ExecDir",
"name" : "@RJBS/@Filter/ExecDir",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::ShareDir",
"name" : "@RJBS/@Filter/ShareDir",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Manifest",
"name" : "@RJBS/@Filter/Manifest",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::TestRelease",
"name" : "@RJBS/@Filter/TestRelease",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::ConfirmRelease",
"name" : "@RJBS/@Filter/ConfirmRelease",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::UploadToCPAN",
"name" : "@RJBS/@Filter/UploadToCPAN",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::MakeMaker",
@@ -179,37 +182,47 @@
}
},
"name" : "@RJBS/MakeMaker",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::AutoPrereqs",
"name" : "@RJBS/AutoPrereqs",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Git::NextVersion",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::NextVersion" : {
+ "first_version" : "0.001",
+ "version_by_branch" : "0",
+ "version_regexp" : "(?^:^([0-9]+\\.[0-9]+)$)"
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
"name" : "@RJBS/Git::NextVersion",
- "version" : "2.020"
+ "version" : "2.024"
},
{
"class" : "Dist::Zilla::Plugin::PkgVersion",
"name" : "@RJBS/PkgVersion",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::MetaConfig",
"name" : "@RJBS/MetaConfig",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::MetaJSON",
"name" : "@RJBS/MetaJSON",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::NextRelease",
"name" : "@RJBS/NextRelease",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Test::ChangesHasContent",
@@ -219,12 +232,12 @@
{
"class" : "Dist::Zilla::Plugin::PodSyntaxTests",
"name" : "@RJBS/PodSyntaxTests",
- "version" : "5.015"
+ "version" : "5.020"
},
{
- "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
- "name" : "@RJBS/Test::ReportPrereqs",
- "version" : "0.013"
+ "class" : "Dist::Zilla::Plugin::ReportVersions::Tiny",
+ "name" : "@RJBS/ReportVersions::Tiny",
+ "version" : "1.10"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
@@ -235,7 +248,7 @@
}
},
"name" : "@RJBS/TestMoreWithSubtests",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::PodWeaver",
@@ -343,32 +356,91 @@
}
},
"name" : "@RJBS/PodWeaver",
- "version" : "4.005"
+ "version" : "4.006"
},
{
"class" : "Dist::Zilla::Plugin::GithubMeta",
"name" : "@RJBS/GithubMeta",
- "version" : "0.42"
+ "version" : "0.46"
},
{
"class" : "Dist::Zilla::Plugin::Git::Check",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::Check" : {
+ "untracked_files" : "die"
+ },
+ "Dist::Zilla::Role::Git::DirtyFiles" : {
+ "allow_dirty" : [
+ "dist.ini",
+ "Changes"
+ ],
+ "allow_dirty_match" : [],
+ "changelog" : "Changes"
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
"name" : "@RJBS/@Git/Check",
- "version" : "2.020"
+ "version" : "2.024"
},
{
"class" : "Dist::Zilla::Plugin::Git::Commit",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::Commit" : {
+ "add_files_in" : [],
+ "commit_msg" : "v%v%n%n%c",
+ "time_zone" : "local"
+ },
+ "Dist::Zilla::Role::Git::DirtyFiles" : {
+ "allow_dirty" : [
+ "dist.ini",
+ "Changes"
+ ],
+ "allow_dirty_match" : [],
+ "changelog" : "Changes"
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
"name" : "@RJBS/@Git/Commit",
- "version" : "2.020"
+ "version" : "2.024"
},
{
"class" : "Dist::Zilla::Plugin::Git::Tag",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::Tag" : {
+ "branch" : null,
+ "signed" : 0,
+ "tag" : "0.200012",
+ "tag_format" : "%v",
+ "tag_message" : "v%v",
+ "time_zone" : "local"
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
"name" : "@RJBS/@Git/Tag",
- "version" : "2.020"
+ "version" : "2.024"
},
{
"class" : "Dist::Zilla::Plugin::Git::Push",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::Push" : {
+ "push_to" : [
+ "origin :",
+ "github :"
+ ],
+ "remotes_must_exist" : 0
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
"name" : "@RJBS/@Git/Push",
- "version" : "2.020"
+ "version" : "2.024"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
@@ -379,47 +451,47 @@
}
},
"name" : "Prereqs",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":InstallModules",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":IncModules",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":TestFiles",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExecFiles",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ShareFiles",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":MainModule",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":AllFiles",
- "version" : "5.015"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":NoFiles",
- "version" : "5.015"
+ "version" : "5.020"
}
],
"zilla" : {
@@ -427,7 +499,7 @@
"config" : {
"is_trial" : "0"
},
- "version" : "5.015"
+ "version" : "5.020"
}
}
}
@@ -4,17 +4,15 @@ author:
- 'Ricardo SIGNES <rjbs@cpan.org>'
- 'Florian Ragwitz <rafl@debian.org>'
build_requires:
- ExtUtils::MakeMaker: '0'
- File::Spec::Functions: '0'
- List::Util: '0'
+ Devel::StackTrace: '1.32'
Test::More: '0.96'
+ base: '0'
strict: '0'
- version: '0'
warnings: '0'
configure_requires:
- ExtUtils::MakeMaker: '6.30'
+ ExtUtils::MakeMaker: '0'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.015, CPAN::Meta::Converter version 2.140640'
+generated_by: 'Dist::Zilla version 5.020, CPAN::Meta::Converter version 2.142060'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -22,7 +20,7 @@ meta-spec:
name: Throwable
requires:
Carp: '0'
- Devel::StackTrace: '1.21'
+ Devel::StackTrace: '1.32'
Module::Runtime: '0.002'
Moo: '1.000001'
Moo::Role: '0'
@@ -33,23 +31,28 @@ resources:
bugtracker: https://github.com/rjbs/Throwable/issues
homepage: https://github.com/rjbs/Throwable
repository: https://github.com/rjbs/Throwable.git
-version: '0.200011'
+version: '0.200012'
x_Dist_Zilla:
perl:
- version: '5.019010'
+ version: '5.021003'
plugins:
-
class: Dist::Zilla::Plugin::Git::GatherDir
+ config:
+ Dist::Zilla::Plugin::Git::GatherDir:
+ include_untracked: '0'
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
name: '@RJBS/Git::GatherDir'
- version: '2.020'
+ version: '2.024'
-
class: Dist::Zilla::Plugin::CheckPrereqsIndexed
name: '@RJBS/CheckPrereqsIndexed'
- version: '0.011'
+ version: '0.012'
-
class: Dist::Zilla::Plugin::CheckExtraTests
name: '@RJBS/CheckExtraTests'
- version: '0.021'
+ version: '0.022'
-
class: Dist::Zilla::Plugin::PromptIfStale
config:
@@ -61,7 +64,7 @@ x_Dist_Zilla:
phase: build
skip: []
name: '@RJBS/RJBS-Outdated'
- version: '0.021'
+ version: '0.026'
-
class: Dist::Zilla::Plugin::PromptIfStale
config:
@@ -72,82 +75,89 @@ x_Dist_Zilla:
phase: release
skip: []
name: '@RJBS/CPAN-Outdated'
- version: '0.021'
+ version: '0.026'
-
class: Dist::Zilla::Plugin::PruneCruft
name: '@RJBS/@Filter/PruneCruft'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::ManifestSkip
name: '@RJBS/@Filter/ManifestSkip'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::MetaYAML
name: '@RJBS/@Filter/MetaYAML'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::License
name: '@RJBS/@Filter/License'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Readme
name: '@RJBS/@Filter/Readme'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::ExecDir
name: '@RJBS/@Filter/ExecDir'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::ShareDir
name: '@RJBS/@Filter/ShareDir'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Manifest
name: '@RJBS/@Filter/Manifest'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::TestRelease
name: '@RJBS/@Filter/TestRelease'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::ConfirmRelease
name: '@RJBS/@Filter/ConfirmRelease'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::UploadToCPAN
name: '@RJBS/@Filter/UploadToCPAN'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::MakeMaker
config:
Dist::Zilla::Role::TestRunner:
default_jobs: 9
name: '@RJBS/MakeMaker'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::AutoPrereqs
name: '@RJBS/AutoPrereqs'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Git::NextVersion
+ config:
+ Dist::Zilla::Plugin::Git::NextVersion:
+ first_version: '0.001'
+ version_by_branch: '0'
+ version_regexp: (?^:^([0-9]+\.[0-9]+)$)
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
name: '@RJBS/Git::NextVersion'
- version: '2.020'
+ version: '2.024'
-
class: Dist::Zilla::Plugin::PkgVersion
name: '@RJBS/PkgVersion'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::MetaConfig
name: '@RJBS/MetaConfig'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::MetaJSON
name: '@RJBS/MetaJSON'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::NextRelease
name: '@RJBS/NextRelease'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Test::ChangesHasContent
name: '@RJBS/Test::ChangesHasContent'
@@ -155,11 +165,11 @@ x_Dist_Zilla:
-
class: Dist::Zilla::Plugin::PodSyntaxTests
name: '@RJBS/PodSyntaxTests'
- version: '5.015'
+ version: '5.020'
-
- class: Dist::Zilla::Plugin::Test::ReportPrereqs
- name: '@RJBS/Test::ReportPrereqs'
- version: '0.013'
+ class: Dist::Zilla::Plugin::ReportVersions::Tiny
+ name: '@RJBS/ReportVersions::Tiny'
+ version: '1.10'
-
class: Dist::Zilla::Plugin::Prereqs
config:
@@ -167,7 +177,7 @@ x_Dist_Zilla:
phase: test
type: requires
name: '@RJBS/TestMoreWithSubtests'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::PodWeaver
config:
@@ -251,27 +261,69 @@ x_Dist_Zilla:
name: '@RJBS/List'
version: '4.006'
name: '@RJBS/PodWeaver'
- version: '4.005'
+ version: '4.006'
-
class: Dist::Zilla::Plugin::GithubMeta
name: '@RJBS/GithubMeta'
- version: '0.42'
+ version: '0.46'
-
class: Dist::Zilla::Plugin::Git::Check
+ config:
+ Dist::Zilla::Plugin::Git::Check:
+ untracked_files: die
+ Dist::Zilla::Role::Git::DirtyFiles:
+ allow_dirty:
+ - dist.ini
+ - Changes
+ allow_dirty_match: []
+ changelog: Changes
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
name: '@RJBS/@Git/Check'
- version: '2.020'
+ version: '2.024'
-
class: Dist::Zilla::Plugin::Git::Commit
+ config:
+ Dist::Zilla::Plugin::Git::Commit:
+ add_files_in: []
+ commit_msg: v%v%n%n%c
+ time_zone: local
+ Dist::Zilla::Role::Git::DirtyFiles:
+ allow_dirty:
+ - dist.ini
+ - Changes
+ allow_dirty_match: []
+ changelog: Changes
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
name: '@RJBS/@Git/Commit'
- version: '2.020'
+ version: '2.024'
-
class: Dist::Zilla::Plugin::Git::Tag
+ config:
+ Dist::Zilla::Plugin::Git::Tag:
+ branch: ~
+ signed: 0
+ tag: '0.200012'
+ tag_format: '%v'
+ tag_message: v%v
+ time_zone: local
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
name: '@RJBS/@Git/Tag'
- version: '2.020'
+ version: '2.024'
-
class: Dist::Zilla::Plugin::Git::Push
+ config:
+ Dist::Zilla::Plugin::Git::Push:
+ push_to:
+ - 'origin :'
+ - 'github :'
+ remotes_must_exist: 0
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
name: '@RJBS/@Git/Push'
- version: '2.020'
+ version: '2.024'
-
class: Dist::Zilla::Plugin::Prereqs
config:
@@ -279,41 +331,41 @@ x_Dist_Zilla:
phase: runtime
type: requires
name: Prereqs
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':InstallModules'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':IncModules'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':TestFiles'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExecFiles'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ShareFiles'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':MainModule'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':AllFiles'
- version: '5.015'
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':NoFiles'
- version: '5.015'
+ version: '5.020'
zilla:
class: Dist::Zilla::Dist::Builder
config:
is_trial: '0'
- version: '5.015'
+ version: '5.020'
@@ -1,20 +1,19 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.015.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.020.
use strict;
use warnings;
-use ExtUtils::MakeMaker 6.30;
+use ExtUtils::MakeMaker ;
my %WriteMakefileArgs = (
"ABSTRACT" => "a role for classes that can be thrown",
"AUTHOR" => "Ricardo SIGNES <rjbs\@cpan.org>, Florian Ragwitz <rafl\@debian.org>",
- "BUILD_REQUIRES" => {},
"CONFIGURE_REQUIRES" => {
- "ExtUtils::MakeMaker" => "6.30"
+ "ExtUtils::MakeMaker" => 0
},
"DISTNAME" => "Throwable",
"EXE_FILES" => [],
@@ -22,7 +21,7 @@ my %WriteMakefileArgs = (
"NAME" => "Throwable",
"PREREQ_PM" => {
"Carp" => 0,
- "Devel::StackTrace" => "1.21",
+ "Devel::StackTrace" => "1.32",
"Module::Runtime" => "0.002",
"Moo" => "1.000001",
"Moo::Role" => 0,
@@ -31,15 +30,13 @@ my %WriteMakefileArgs = (
"overload" => 0
},
"TEST_REQUIRES" => {
- "ExtUtils::MakeMaker" => 0,
- "File::Spec::Functions" => 0,
- "List::Util" => 0,
+ "Devel::StackTrace" => "1.32",
"Test::More" => "0.96",
+ "base" => 0,
"strict" => 0,
- "version" => 0,
"warnings" => 0
},
- "VERSION" => "0.200011",
+ "VERSION" => "0.200012",
"test" => {
"TESTS" => "t/*.t"
}
@@ -48,19 +45,16 @@ my %WriteMakefileArgs = (
my %FallbackPrereqs = (
"Carp" => 0,
- "Devel::StackTrace" => "1.21",
- "ExtUtils::MakeMaker" => 0,
- "File::Spec::Functions" => 0,
- "List::Util" => 0,
+ "Devel::StackTrace" => "1.32",
"Module::Runtime" => "0.002",
"Moo" => "1.000001",
"Moo::Role" => 0,
"Scalar::Util" => 0,
"Sub::Quote" => 0,
"Test::More" => "0.96",
+ "base" => 0,
"overload" => 0,
"strict" => 0,
- "version" => 0,
"warnings" => 0
);
@@ -1,7 +1,7 @@
This archive contains the distribution Throwable,
-version 0.200011:
+version 0.200012:
a role for classes that can be thrown
@@ -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.015.
+This README file was generated by Dist::Zilla::Plugin::Readme v5.020.
@@ -7,5 +7,4 @@ copyright_holder = Ricardo SIGNES
[@RJBS]
[Prereqs]
-Devel::StackTrace = 1.21 ; frame_filter
-
+Devel::StackTrace = 1.32 ; frame_filter, filter_frames_early
@@ -1,6 +1,6 @@
package StackTrace::Auto;
# ABSTRACT: a role for generating stack traces during instantiation
-$StackTrace::Auto::VERSION = '0.200011';
+$StackTrace::Auto::VERSION = '0.200012';
use Moo::Role;
use Sub::Quote ();
use Module::Runtime 0.002 ();
@@ -49,9 +49,13 @@ has stack_trace => (
@{ $_[0]->stack_trace_args },
);
}),
+ lazy => 1,
init_arg => undef,
);
+sub BUILD {};
+before BUILD => sub { $_[0]->stack_trace };
+
has stack_trace_class => (
is => 'ro',
isa => Sub::Quote::quote_sub(q{
@@ -93,6 +97,7 @@ sub _build_stack_trace_args {
my $found_mark = 0;
return [
+ filter_frames_early => 1,
frame_filter => sub {
my ($raw) = @_;
my $sub = $raw->{caller}->[3];
@@ -127,7 +132,7 @@ StackTrace::Auto - a role for generating stack traces during instantiation
=head1 VERSION
-version 0.200011
+version 0.200012
=head1 SYNOPSIS
@@ -1,6 +1,6 @@
package Throwable::Error;
# ABSTRACT: an easy-to-use class for error objects
-$Throwable::Error::VERSION = '0.200011';
+$Throwable::Error::VERSION = '0.200012';
use Moo 1.000001;
with 'Throwable', 'StackTrace::Auto';
@@ -113,7 +113,7 @@ Throwable::Error - an easy-to-use class for error objects
=head1 VERSION
-version 0.200011
+version 0.200012
=head1 SYNOPSIS
@@ -1,6 +1,6 @@
package Throwable;
# ABSTRACT: a role for classes that can be thrown
-$Throwable::VERSION = '0.200011';
+$Throwable::VERSION = '0.200012';
use Moo::Role;
use Sub::Quote ();
use Scalar::Util ();
@@ -90,7 +90,7 @@ Throwable - a role for classes that can be thrown
=head1 VERSION
-version 0.200011
+version 0.200012
=head1 SYNOPSIS
@@ -1,175 +0,0 @@
-#!perl
-
-use strict;
-use warnings;
-
-# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.013
-
-use Test::More tests => 1;
-
-use ExtUtils::MakeMaker;
-use File::Spec::Functions;
-use List::Util qw/max/;
-use version;
-
-# 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')";
-
-# Verify requirements?
-my $DO_VERIFY_PREREQS = 1;
-
-sub _merge_requires {
- 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 );
- }
- }
-}
-
-my %include = map {; $_ => 1 } qw(
-
-);
-
-my %exclude = map {; $_ => 1 } qw(
-
-);
-
-# Add static prereqs to the included modules list
-my $static_prereqs = do { my $x = {
- 'configure' => {
- 'requires' => {
- 'ExtUtils::MakeMaker' => '6.30'
- }
- },
- 'develop' => {
- 'requires' => {
- 'Test::Pod' => '1.41'
- }
- },
- 'runtime' => {
- 'requires' => {
- 'Carp' => '0',
- 'Devel::StackTrace' => '1.21',
- 'Module::Runtime' => '0.002',
- 'Moo' => '1.000001',
- 'Moo::Role' => '0',
- 'Scalar::Util' => '0',
- 'Sub::Quote' => '0',
- 'overload' => '0'
- }
- },
- 'test' => {
- 'recommends' => {
- 'CPAN::Meta' => '0',
- 'CPAN::Meta::Requirements' => '2.120900'
- },
- 'requires' => {
- 'ExtUtils::MakeMaker' => '0',
- 'File::Spec::Functions' => '0',
- 'List::Util' => '0',
- 'Test::More' => '0.96',
- 'strict' => '0',
- 'version' => '0',
- 'warnings' => '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);
-}
-
-
-# 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);
- }
- }
-}
-else {
- $source = 'static metadata';
-}
-
-my @modules = sort grep { ! $exclude{$_} } keys %include;
-my @reports = [qw/Version Module/];
-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'";
- }
- }
- }
-
- }
- else {
- push @reports, ["missing", $mod];
-
- 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)";
- }
- }
- }
-}
-
-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 ( @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:
@@ -0,0 +1,82 @@
+use strict;
+use warnings;
+use Test::More 0.88;
+# This is a relatively nice way to avoid Test::NoWarnings breaking our
+# expectations by adding extra tests, without using no_plan. It also helps
+# avoid any other test module that feels introducing random tests, or even
+# test plans, is a nice idea.
+our $success = 0;
+END { $success && done_testing; }
+
+# List our own version used to generate this
+my $v = "\nGenerated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.10\n";
+
+eval { # no excuses!
+ # report our Perl details
+ my $want = "any version";
+ $v .= "perl: $] (wanted $want) on $^O from $^X\n\n";
+};
+defined($@) and diag("$@");
+
+# Now, our module version dependencies:
+sub pmver {
+ my ($module, $wanted) = @_;
+ $wanted = " (want $wanted)";
+ my $pmver;
+ eval "require $module;";
+ if ($@) {
+ if ($@ =~ m/Can't locate .* in \@INC/) {
+ $pmver = 'module not found.';
+ } else {
+ diag("${module}: $@");
+ $pmver = 'died during require.';
+ }
+ } else {
+ my $version;
+ eval { $version = $module->VERSION; };
+ if ($@) {
+ diag("${module}: $@");
+ $pmver = 'died during VERSION check.';
+ } elsif (defined $version) {
+ $pmver = "$version";
+ } else {
+ $pmver = '<undef>';
+ }
+ }
+
+ # So, we should be good, right?
+ return sprintf('%-45s => %-10s%-15s%s', $module, $pmver, $wanted, "\n");
+}
+
+eval { $v .= pmver('Carp','any version') };
+eval { $v .= pmver('Devel::StackTrace','1.32') };
+eval { $v .= pmver('ExtUtils::MakeMaker','any version') };
+eval { $v .= pmver('Module::Runtime','0.002') };
+eval { $v .= pmver('Moo','1.000001') };
+eval { $v .= pmver('Moo::Role','any version') };
+eval { $v .= pmver('Scalar::Util','any version') };
+eval { $v .= pmver('Sub::Quote','any version') };
+eval { $v .= pmver('Test::More','0.96') };
+eval { $v .= pmver('base','any version') };
+eval { $v .= pmver('overload','any version') };
+eval { $v .= pmver('strict','any version') };
+eval { $v .= pmver('warnings','any version') };
+
+
+# All done.
+$v .= <<'EOT';
+
+Thanks for using my code. I hope it works for you.
+If not, please try and include this output in the bug report.
+That will help me reproduce the issue and solve your problem.
+
+EOT
+
+diag($v);
+ok(1, "we really didn't test anything, just reporting data");
+$success = 1;
+
+# Work around another nasty module on CPAN. :/
+no warnings 'once';
+$Template::Test::NO_FLUSH = 1;
+exit 0;
@@ -16,6 +16,22 @@ BEGIN {
use $class;
extends 'Throwable::Error';
+ package MyError2;
+ use $class;
+ extends 'Throwable::Error';
+ }.q{
+
+ use Carp qw(cluck);
+ around _build_stack_trace_args => sub {
+ my ($orig, $self) = (shift, shift);
+
+ return [
+ @{$self->$orig(@_)},
+ no_refs => 1,
+ respect_overload => 1,
+ ];
+ };
+
1;
} or die $@;
}
@@ -71,4 +87,29 @@ sub create_error { HasError->new->{error} }
is($frames[1]->subroutine, q{main::create_error}, 'correct frame 1');
}
+{
+ package MyTrace;
+ use base 'Devel::StackTrace';
+}
+
+# make sure to catch intermittent failures due to attribute initialisation order
+for my $i (1..10) {
+ eval { MyError->throw({ message => 'aieee!', stack_trace_class => 'MyTrace' }) };
+
+ my $error = $@;
+ isa_ok($error->stack_trace, 'MyTrace', "the trace (run $i)")
+}
+
+{
+ eval {
+ local $SIG{ALRM} = sub { fail('no_refs + respect_overload finishes'); exit 1; };
+ alarm 10;
+ MyError2->throw('aiee!');
+ };
+ alarm 0;
+
+ my $error = $@;
+ isa_ok($error, 'MyError2', 'the error');
+}
+
done_testing();
@@ -4,7 +4,7 @@ use Test::More tests => 2;
note 'Checking Changes';
my $changes_file = 'Changes';
-my $newver = '0.200011';
+my $newver = '0.200012';
my $trial_token = '-TRIAL';
SKIP: {