Hello community, here is the log from the commit of package perl-App-Cmd for openSUSE:Factory checked in at 2012-02-21 12:22:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-App-Cmd (Old) and /work/SRC/openSUSE:Factory/.perl-App-Cmd.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-App-Cmd", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-App-Cmd/perl-App-Cmd.changes 2011-12-25 17:37:58.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.perl-App-Cmd.new/perl-App-Cmd.changes 2012-02-21 12:22:51.000000000 +0100 @@ -1,0 +2,12 @@ +Tue Feb 21 08:55:55 UTC 2012 - co...@suse.com + +- updated to 0.316 + fix the test of "echo" on Win32 (thanks, Chris Williams) + totally worthless release made by mistake + adds App::Cmd::Tester::CaptureExternal to capture output from + external subcommands (thanks, David Golden) + if there's no Pod =head1 NAME, a Pod::Weaver-esque #ABSTRACT will be + respected (thanks, Andreas Hernitscheck) + don't load Text::Abbrev until it's needed (thanks, Olivier Mengué) + +------------------------------------------------------------------- Old: ---- App-Cmd-0.312.tar.gz New: ---- App-Cmd-0.316.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-App-Cmd.spec ++++++ --- /var/tmp/diff_new_pack.wfZZ0K/_old 2012-02-21 12:22:52.000000000 +0100 +++ /var/tmp/diff_new_pack.wfZZ0K/_new 2012-02-21 12:22:52.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-App-Cmd # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,47 +15,63 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + Name: perl-App-Cmd -Version: 0.312 +Version: 0.316 Release: 0 %define cpan_name App-Cmd Summary: Write command line apps with less suffering -License: GPL-1.0+ or Artistic-1.0 +License: Artistic-1.0 or GPL-1.0+ Group: Development/Libraries/Perl Url: http://search.cpan.org/dist/App-Cmd/ -#Source: http://www.cpan.org/authors/id/R/RJ/RJBS/App-Cmd-%{version}.tar.gz -Source: %{cpan_name}-%{version}.tar.gz +Source: http://www.cpan.org/authors/id/R/RJ/RJBS/%{cpan_name}-%{version}.tar.gz Patch1: perl-App-Cmd-old_Test-More.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros -BuildRequires: perl(Carp) +BuildRequires: perl(Capture::Tiny) >= 0.13 BuildRequires: perl(Class::Load) >= 0.06 -BuildRequires: perl(Data::Dumper) BuildRequires: perl(Data::OptList) -BuildRequires: perl(File::Basename) BuildRequires: perl(Getopt::Long::Descriptive) >= 0.084 BuildRequires: perl(IO::TieCombine) +BuildRequires: perl(IPC::Cmd) +BuildRequires: perl(Module::Pluggable::Object) BuildRequires: perl(String::RewritePrefix) BuildRequires: perl(Sub::Exporter) BuildRequires: perl(Sub::Exporter::Util) BuildRequires: perl(Sub::Install) BuildRequires: perl(Test::Fatal) -BuildRequires: perl(Test::More) >= 0.88 -BuildRequires: perl(Text::Abbrev) -BuildRequires: perl(constant) -Requires: perl(Carp) +BuildRequires: perl(Test::More) >= 0.96 +BuildRequires: perl(parent) +#BuildRequires: perl(App::Cmd) +#BuildRequires: perl(App::Cmd::ArgProcessor) +#BuildRequires: perl(App::Cmd::Command) +#BuildRequires: perl(App::Cmd::Plugin) +#BuildRequires: perl(App::Cmd::Setup) +#BuildRequires: perl(App::Cmd::Simple) +#BuildRequires: perl(App::Cmd::Subdispatch) +#BuildRequires: perl(App::Cmd::Tester) +#BuildRequires: perl(App::Cmd::Tester::CaptureExternal) +#BuildRequires: perl(Test::BrokenCmd) +#BuildRequires: perl(Test::BrokenCmd::Command) +#BuildRequires: perl(Test::MyCmd) +#BuildRequires: perl(Test::MyCmdAbbrev) +#BuildRequires: perl(Test::MySimple) +#BuildRequires: perl(Test::WithSetup) +#BuildRequires: perl(Test::WSNCC) +#BuildRequires: perl(Test::WSOF) +Requires: perl(Capture::Tiny) >= 0.13 Requires: perl(Class::Load) >= 0.06 Requires: perl(Data::OptList) -Requires: perl(File::Basename) Requires: perl(Getopt::Long::Descriptive) >= 0.084 Requires: perl(IO::TieCombine) +Requires: perl(Module::Pluggable::Object) Requires: perl(String::RewritePrefix) Requires: perl(Sub::Exporter) Requires: perl(Sub::Exporter::Util) Requires: perl(Sub::Install) -Requires: perl(Text::Abbrev) +Requires: perl(parent) %{perl_requires} %description @@ -85,9 +101,6 @@ %perl_process_packlist %perl_gen_filelist -%clean -%{__rm} -rf %{buildroot} - %files -f %{name}.files %defattr(-,root,root,755) %doc Changes LICENSE README ++++++ App-Cmd-0.312.tar.gz -> App-Cmd-0.316.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/Changes new/App-Cmd-0.316/Changes --- old/App-Cmd-0.312/Changes 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/Changes 2012-02-11 16:51:08.000000000 +0100 @@ -1,5 +1,21 @@ Revision history for App-Cmd +0.316 2012-02-11 10:50:46 America/New_York + fix the test of "echo" on Win32 (thanks, Chris Williams) + +0.315 2012-02-10 09:08:49 America/New_York + totally worthless release made by mistake + +0.314 2012-01-03 21:38:59 America/New_York + adds App::Cmd::Tester::CaptureExternal to capture output from + external subcommands (thanks, David Golden) + + if there's no Pod =head1 NAME, a Pod::Weaver-esque #ABSTRACT will be + respected (thanks, Andreas Hernitscheck) + +0.313 2011-12-23 13:29:53 America/New_York + don't load Text::Abbrev until it's needed (thanks, Olivier Mengué) + 0.312 2011-08-17 18:02:26 America/New_York typo fixes to docs (thanks, Glenn Fowler) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/LICENSE new/App-Cmd-0.316/LICENSE --- old/App-Cmd-0.312/LICENSE 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/LICENSE 2012-02-11 16:51:08.000000000 +0100 @@ -1,4 +1,4 @@ -This software is copyright (c) 2011 by Ricardo Signes. +This software is copyright (c) 2012 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. @@ -12,7 +12,7 @@ --- The GNU General Public License, Version 1, February 1989 --- -This software is Copyright (c) 2011 by Ricardo Signes. +This software is Copyright (c) 2012 by Ricardo Signes. This is free software, licensed under: @@ -22,7 +22,7 @@ Version 1, February 1989 Copyright (C) 1989 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + 51 Franklin St, Suite 500, Boston, MA 02110-1335 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -272,7 +272,7 @@ --- The Artistic License 1.0 --- -This software is Copyright (c) 2011 by Ricardo Signes. +This software is Copyright (c) 2012 by Ricardo Signes. This is free software, licensed under: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/MANIFEST new/App-Cmd-0.316/MANIFEST --- old/App-Cmd-0.312/MANIFEST 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/MANIFEST 2012-02-11 16:51:08.000000000 +0100 @@ -17,15 +17,18 @@ lib/App/Cmd/Subdispatch.pm lib/App/Cmd/Subdispatch/DashedStyle.pm lib/App/Cmd/Tester.pm +lib/App/Cmd/Tester/CaptureExternal.pm lib/App/Cmd/Tutorial.pod t/00-load.t t/abbrev.t t/basic.t +t/capture-ext.t t/lib/Test/BrokenCmd.pm t/lib/Test/BrokenCmd/Command.pm t/lib/Test/MyCmd.pm t/lib/Test/MyCmd/Command/exit.pm t/lib/Test/MyCmd/Command/frobulate.pm +t/lib/Test/MyCmd/Command/hello.pm t/lib/Test/MyCmd/Command/justusage.pm t/lib/Test/MyCmd/Command/stock.pm t/lib/Test/MyCmd2.pm diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/META.json new/App-Cmd-0.316/META.json --- old/App-Cmd-0.312/META.json 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/META.json 2012-02-11 16:51:08.000000000 +0100 @@ -4,7 +4,7 @@ "Ricardo Signes <r...@cpan.org>" ], "dynamic_config" : 0, - "generated_by" : "Dist::Zilla version 4.200015, CPAN::Meta::Converter version 2.112150", + "generated_by" : "Dist::Zilla version 4.300007, CPAN::Meta::Converter version 2.120351", "license" : [ "perl_5" ], @@ -21,27 +21,33 @@ }, "runtime" : { "requires" : { - "Carp" : 0, + "Capture::Tiny" : "0.13", + "Carp" : "0", "Class::Load" : "0.06", - "Data::OptList" : 0, - "File::Basename" : 0, + "Data::OptList" : "0", + "File::Basename" : "0", "Getopt::Long::Descriptive" : "0.084", - "IO::TieCombine" : 0, - "Module::Pluggable::Object" : 0, - "String::RewritePrefix" : 0, - "Sub::Exporter" : 0, - "Sub::Exporter::Util" : 0, - "Sub::Install" : 0, - "Text::Abbrev" : 0, - "constant" : 0, - "perl" : "5.006" + "IO::TieCombine" : "0", + "Module::Pluggable::Object" : "0", + "String::RewritePrefix" : "0", + "Sub::Exporter" : "0", + "Sub::Exporter::Util" : "0", + "Sub::Install" : "0", + "Text::Abbrev" : "0", + "constant" : "0", + "parent" : "0", + "perl" : "5.006", + "strict" : "0", + "warnings" : "0" } }, "test" : { "requires" : { - "Data::Dumper" : 0, - "Test::Fatal" : 0, - "Test::More" : "0.96" + "Data::Dumper" : "0", + "IPC::Cmd" : "0", + "Test::Fatal" : "0", + "Test::More" : "0.96", + "base" : "0" } } }, @@ -50,122 +56,122 @@ "homepage" : "https://github.com/rjbs/app-cmd", "repository" : { "type" : "git", - "url" : "https://github.com/rjbs/app-cmd", + "url" : "https://github.com/rjbs/app-cmd.git", "web" : "https://github.com/rjbs/app-cmd" } }, - "version" : "0.312", + "version" : "0.316", "x_Dist_Zilla" : { "plugins" : [ { "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed", "name" : "@RJBS/CheckPrereqsIndexed", - "version" : "0.003" + "version" : "0.007" }, { "class" : "Dist::Zilla::Plugin::GatherDir", "name" : "@RJBS/@Basic/GatherDir", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::PruneCruft", "name" : "@RJBS/@Basic/PruneCruft", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::ManifestSkip", "name" : "@RJBS/@Basic/ManifestSkip", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::MetaYAML", "name" : "@RJBS/@Basic/MetaYAML", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::License", "name" : "@RJBS/@Basic/License", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::Readme", "name" : "@RJBS/@Basic/Readme", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::ExtraTests", "name" : "@RJBS/@Basic/ExtraTests", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::ExecDir", "name" : "@RJBS/@Basic/ExecDir", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::ShareDir", "name" : "@RJBS/@Basic/ShareDir", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::MakeMaker", "name" : "@RJBS/@Basic/MakeMaker", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::Manifest", "name" : "@RJBS/@Basic/Manifest", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::TestRelease", "name" : "@RJBS/@Basic/TestRelease", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::ConfirmRelease", "name" : "@RJBS/@Basic/ConfirmRelease", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::UploadToCPAN", "name" : "@RJBS/@Basic/UploadToCPAN", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::AutoPrereqs", "name" : "@RJBS/AutoPrereqs", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::Git::NextVersion", "name" : "@RJBS/Git::NextVersion", - "version" : "1.112070" + "version" : "1.120370" }, { "class" : "Dist::Zilla::Plugin::PkgVersion", "name" : "@RJBS/PkgVersion", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::MetaConfig", "name" : "@RJBS/MetaConfig", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::MetaJSON", "name" : "@RJBS/MetaJSON", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::NextRelease", "name" : "@RJBS/NextRelease", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::PodSyntaxTests", "name" : "@RJBS/PodSyntaxTests", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::Repository", @@ -181,7 +187,7 @@ } }, "name" : "@RJBS/TestMoreWithSubtests", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::PodWeaver", @@ -191,27 +197,27 @@ { "class" : "Dist::Zilla::Plugin::GithubMeta", "name" : "@RJBS/GithubMeta", - "version" : "0.16" + "version" : "0.28" }, { "class" : "Dist::Zilla::Plugin::Git::Check", "name" : "@RJBS/@Git/Check", - "version" : "1.112070" + "version" : "1.120370" }, { "class" : "Dist::Zilla::Plugin::Git::Commit", "name" : "@RJBS/@Git/Commit", - "version" : "1.112070" + "version" : "1.120370" }, { "class" : "Dist::Zilla::Plugin::Git::Tag", "name" : "@RJBS/@Git/Tag", - "version" : "1.112070" + "version" : "1.120370" }, { "class" : "Dist::Zilla::Plugin::Git::Push", "name" : "@RJBS/@Git/Push", - "version" : "1.112070" + "version" : "1.120370" }, { "class" : "Dist::Zilla::Plugin::Prereqs", @@ -222,37 +228,37 @@ } }, "name" : "Prereqs", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":InstallModules", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":IncModules", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":TestFiles", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ExecFiles", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ShareFiles", - "version" : "4.200015" + "version" : "4.300007" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":MainModule", - "version" : "4.200015" + "version" : "4.300007" } ], "zilla" : { @@ -260,7 +266,7 @@ "config" : { "is_trial" : "0" }, - "version" : "4.200015" + "version" : "4.300007" } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/META.yml new/App-Cmd-0.316/META.yml --- old/App-Cmd-0.312/META.yml 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/META.yml 2012-02-11 16:51:08.000000000 +0100 @@ -4,18 +4,21 @@ - 'Ricardo Signes <r...@cpan.org>' build_requires: Data::Dumper: 0 + IPC::Cmd: 0 Test::Fatal: 0 Test::More: 0.96 + base: 0 configure_requires: ExtUtils::MakeMaker: 6.30 dynamic_config: 0 -generated_by: 'Dist::Zilla version 4.200015, CPAN::Meta::Converter version 2.112150' +generated_by: 'Dist::Zilla version 4.300007, CPAN::Meta::Converter version 2.120351' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: 1.4 name: App-Cmd requires: + Capture::Tiny: 0.13 Carp: 0 Class::Load: 0.06 Data::OptList: 0 @@ -29,101 +32,104 @@ Sub::Install: 0 Text::Abbrev: 0 constant: 0 + parent: 0 perl: 5.006 + strict: 0 + warnings: 0 resources: homepage: https://github.com/rjbs/app-cmd - repository: https://github.com/rjbs/app-cmd -version: 0.312 + repository: https://github.com/rjbs/app-cmd.git +version: 0.316 x_Dist_Zilla: plugins: - class: Dist::Zilla::Plugin::CheckPrereqsIndexed name: '@RJBS/CheckPrereqsIndexed' - version: 0.003 + version: 0.007 - class: Dist::Zilla::Plugin::GatherDir name: '@RJBS/@Basic/GatherDir' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::PruneCruft name: '@RJBS/@Basic/PruneCruft' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::ManifestSkip name: '@RJBS/@Basic/ManifestSkip' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::MetaYAML name: '@RJBS/@Basic/MetaYAML' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::License name: '@RJBS/@Basic/License' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::Readme name: '@RJBS/@Basic/Readme' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::ExtraTests name: '@RJBS/@Basic/ExtraTests' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::ExecDir name: '@RJBS/@Basic/ExecDir' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::ShareDir name: '@RJBS/@Basic/ShareDir' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::MakeMaker name: '@RJBS/@Basic/MakeMaker' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::Manifest name: '@RJBS/@Basic/Manifest' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::TestRelease name: '@RJBS/@Basic/TestRelease' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::ConfirmRelease name: '@RJBS/@Basic/ConfirmRelease' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::UploadToCPAN name: '@RJBS/@Basic/UploadToCPAN' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::AutoPrereqs name: '@RJBS/AutoPrereqs' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::Git::NextVersion name: '@RJBS/Git::NextVersion' - version: 1.112070 + version: 1.120370 - class: Dist::Zilla::Plugin::PkgVersion name: '@RJBS/PkgVersion' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::MetaConfig name: '@RJBS/MetaConfig' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::MetaJSON name: '@RJBS/MetaJSON' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::NextRelease name: '@RJBS/NextRelease' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::PodSyntaxTests name: '@RJBS/PodSyntaxTests' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::Repository name: '@RJBS/Repository' @@ -135,7 +141,7 @@ phase: test type: requires name: '@RJBS/TestMoreWithSubtests' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::PodWeaver name: '@RJBS/PodWeaver' @@ -143,23 +149,23 @@ - class: Dist::Zilla::Plugin::GithubMeta name: '@RJBS/GithubMeta' - version: 0.16 + version: 0.28 - class: Dist::Zilla::Plugin::Git::Check name: '@RJBS/@Git/Check' - version: 1.112070 + version: 1.120370 - class: Dist::Zilla::Plugin::Git::Commit name: '@RJBS/@Git/Commit' - version: 1.112070 + version: 1.120370 - class: Dist::Zilla::Plugin::Git::Tag name: '@RJBS/@Git/Tag' - version: 1.112070 + version: 1.120370 - class: Dist::Zilla::Plugin::Git::Push name: '@RJBS/@Git/Push' - version: 1.112070 + version: 1.120370 - class: Dist::Zilla::Plugin::Prereqs config: @@ -167,33 +173,33 @@ phase: runtime type: requires name: Prereqs - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::FinderCode name: ':InstallModules' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::FinderCode name: ':IncModules' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::FinderCode name: ':TestFiles' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::FinderCode name: ':ExecFiles' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::FinderCode name: ':ShareFiles' - version: 4.200015 + version: 4.300007 - class: Dist::Zilla::Plugin::FinderCode name: ':MainModule' - version: 4.200015 + version: 4.300007 zilla: class: Dist::Zilla::Dist::Builder config: is_trial: 0 - version: 4.200015 + version: 4.300007 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/Makefile.PL new/App-Cmd-0.316/Makefile.PL --- old/App-Cmd-0.312/Makefile.PL 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/Makefile.PL 2012-02-11 16:51:08.000000000 +0100 @@ -9,38 +9,44 @@ my %WriteMakefileArgs = ( - 'ABSTRACT' => 'write command line apps with less suffering', - 'AUTHOR' => 'Ricardo Signes <r...@cpan.org>', - 'BUILD_REQUIRES' => { - 'Data::Dumper' => '0', - 'Test::Fatal' => '0', - 'Test::More' => '0.96' + "ABSTRACT" => "write command line apps with less suffering", + "AUTHOR" => "Ricardo Signes <rjbs\@cpan.org>", + "BUILD_REQUIRES" => { + "Data::Dumper" => 0, + "IPC::Cmd" => 0, + "Test::Fatal" => 0, + "Test::More" => "0.96", + "base" => 0 }, - 'CONFIGURE_REQUIRES' => { - 'ExtUtils::MakeMaker' => '6.30' + "CONFIGURE_REQUIRES" => { + "ExtUtils::MakeMaker" => "6.30" }, - 'DISTNAME' => 'App-Cmd', - 'EXE_FILES' => [], - 'LICENSE' => 'perl', - 'NAME' => 'App::Cmd', - 'PREREQ_PM' => { - 'Carp' => '0', - 'Class::Load' => '0.06', - 'Data::OptList' => '0', - 'File::Basename' => '0', - 'Getopt::Long::Descriptive' => '0.084', - 'IO::TieCombine' => '0', - 'Module::Pluggable::Object' => '0', - 'String::RewritePrefix' => '0', - 'Sub::Exporter' => '0', - 'Sub::Exporter::Util' => '0', - 'Sub::Install' => '0', - 'Text::Abbrev' => '0', - 'constant' => '0' + "DISTNAME" => "App-Cmd", + "EXE_FILES" => [], + "LICENSE" => "perl", + "NAME" => "App::Cmd", + "PREREQ_PM" => { + "Capture::Tiny" => "0.13", + "Carp" => 0, + "Class::Load" => "0.06", + "Data::OptList" => 0, + "File::Basename" => 0, + "Getopt::Long::Descriptive" => "0.084", + "IO::TieCombine" => 0, + "Module::Pluggable::Object" => 0, + "String::RewritePrefix" => 0, + "Sub::Exporter" => 0, + "Sub::Exporter::Util" => 0, + "Sub::Install" => 0, + "Text::Abbrev" => 0, + "constant" => 0, + "parent" => 0, + "strict" => 0, + "warnings" => 0 }, - 'VERSION' => '0.312', - 'test' => { - 'TESTS' => 't/*.t' + "VERSION" => "0.316", + "test" => { + "TESTS" => "t/*.t" } ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/README new/App-Cmd-0.316/README --- old/App-Cmd-0.312/README 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/README 2012-02-11 16:51:08.000000000 +0100 @@ -1,11 +1,11 @@ This archive contains the distribution App-Cmd, -version 0.312: +version 0.316: write command line apps with less suffering -This software is copyright (c) 2011 by Ricardo Signes. +This software is copyright (c) 2012 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/lib/App/Cmd/ArgProcessor.pm new/App-Cmd-0.316/lib/App/Cmd/ArgProcessor.pm --- old/App-Cmd-0.312/lib/App/Cmd/ArgProcessor.pm 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/lib/App/Cmd/ArgProcessor.pm 2012-02-11 16:51:08.000000000 +0100 @@ -3,7 +3,7 @@ package App::Cmd::ArgProcessor; { - $App::Cmd::ArgProcessor::VERSION = '0.312'; + $App::Cmd::ArgProcessor::VERSION = '0.316'; } # ABSTRACT: App::Cmd-specific wrapper for Getopt::Long::Descriptive @@ -34,7 +34,7 @@ =head1 VERSION -version 0.312 +version 0.316 =head1 AUTHOR @@ -42,7 +42,7 @@ =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2011 by Ricardo Signes. +This software is copyright (c) 2012 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/lib/App/Cmd/Command/commands.pm new/App-Cmd-0.316/lib/App/Cmd/Command/commands.pm --- old/App-Cmd-0.312/lib/App/Cmd/Command/commands.pm 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/lib/App/Cmd/Command/commands.pm 2012-02-11 16:51:08.000000000 +0100 @@ -3,7 +3,7 @@ package App::Cmd::Command::commands; { - $App::Cmd::Command::commands::VERSION = '0.312'; + $App::Cmd::Command::commands::VERSION = '0.316'; } use App::Cmd::Command; BEGIN { our @ISA = 'App::Cmd::Command' }; @@ -66,7 +66,7 @@ =head1 VERSION -version 0.312 +version 0.316 =head1 DESCRIPTION @@ -100,7 +100,7 @@ =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2011 by Ricardo Signes. +This software is copyright (c) 2012 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/lib/App/Cmd/Command/help.pm new/App-Cmd-0.316/lib/App/Cmd/Command/help.pm --- old/App-Cmd-0.312/lib/App/Cmd/Command/help.pm 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/lib/App/Cmd/Command/help.pm 2012-02-11 16:51:08.000000000 +0100 @@ -3,7 +3,7 @@ package App::Cmd::Command::help; { - $App::Cmd::Command::help::VERSION = '0.312'; + $App::Cmd::Command::help::VERSION = '0.316'; } use App::Cmd::Command; BEGIN { our @ISA = 'App::Cmd::Command'; } @@ -67,7 +67,7 @@ =head1 VERSION -version 0.312 +version 0.316 =head1 DESCRIPTION @@ -81,7 +81,7 @@ =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2011 by Ricardo Signes. +This software is copyright (c) 2012 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/lib/App/Cmd/Command.pm new/App-Cmd-0.316/lib/App/Cmd/Command.pm --- old/App-Cmd-0.312/lib/App/Cmd/Command.pm 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/lib/App/Cmd/Command.pm 2012-02-11 16:51:08.000000000 +0100 @@ -3,7 +3,7 @@ package App::Cmd::Command; { - $App::Cmd::Command::VERSION = '0.312'; + $App::Cmd::Command::VERSION = '0.316'; } use App::Cmd::ArgProcessor; BEGIN { our @ISA = 'App::Cmd::ArgProcessor' }; @@ -103,25 +103,38 @@ $class = ref $class if ref $class; my $result; + my $weaver_abstract; + # classname to filename (my $pm_file = $class) =~ s!::!/!g; $pm_file .= '.pm'; $pm_file = $INC{$pm_file}; + + # if the pm file exists, open it and parse it open my $fh, "<", $pm_file or return "(unknown)"; local $/ = "\n"; my $inpod; while (local $_ = <$fh>) { - $inpod = /^=cut/ ? !$inpod : $inpod || /^=(?!cut)/; # =cut toggles, it doesn't end :-/ + # =cut toggles, it doesn't end :-/ + $inpod = /^=cut/ ? !$inpod : $inpod || /^=(?!cut)/; + + if (/#+\s*ABSTRACT: (.*)/){ + # takes ABSTRACT: ... if no POD defined yet + $weaver_abstract = $1; + } next unless $inpod; chomp; + next unless /^(?:$class\s-\s)(.*)/; + $result = $1; last; } - return $result || "(unknown)"; + + return $result || $weaver_abstract || "(unknown)"; } @@ -138,7 +151,7 @@ =head1 VERSION -version 0.312 +version 0.316 =head1 METHODS @@ -214,8 +227,9 @@ =head2 abstract This method returns a short description of the command's purpose. If this -method is not overridden, it will return the abstract from the module's POD. -If it can't find the abstract, it will return the string "(unknown") +method is not overridden, it will return the abstract from the module's Pod. +If it can't find the abstract, it will look for a comment starting with +"ABSTRACT:" like the ones used by L<Pod::Weaver::Section::Name>. =head2 description @@ -241,7 +255,7 @@ =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2011 by Ricardo Signes. +This software is copyright (c) 2012 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/lib/App/Cmd/Plugin.pm new/App-Cmd-0.316/lib/App/Cmd/Plugin.pm --- old/App-Cmd-0.312/lib/App/Cmd/Plugin.pm 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/lib/App/Cmd/Plugin.pm 2012-02-11 16:51:08.000000000 +0100 @@ -2,7 +2,7 @@ use warnings; package App::Cmd::Plugin; { - $App::Cmd::Plugin::VERSION = '0.312'; + $App::Cmd::Plugin::VERSION = '0.316'; } # ABSTRACT: a plugin for App::Cmd commands @@ -26,7 +26,7 @@ =head1 VERSION -version 0.312 +version 0.316 =head1 AUTHOR @@ -34,7 +34,7 @@ =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2011 by Ricardo Signes. +This software is copyright (c) 2012 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/lib/App/Cmd/Setup.pm new/App-Cmd-0.316/lib/App/Cmd/Setup.pm --- old/App-Cmd-0.312/lib/App/Cmd/Setup.pm 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/lib/App/Cmd/Setup.pm 2012-02-11 16:51:08.000000000 +0100 @@ -2,7 +2,7 @@ use warnings; package App::Cmd::Setup; { - $App::Cmd::Setup::VERSION = '0.312'; + $App::Cmd::Setup::VERSION = '0.316'; } # ABSTRACT: helper for setting up App::Cmd classes @@ -149,7 +149,7 @@ =head1 VERSION -version 0.312 +version 0.316 =head1 OVERVIEW @@ -220,7 +220,7 @@ =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2011 by Ricardo Signes. +This software is copyright (c) 2012 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/lib/App/Cmd/Simple.pm new/App-Cmd-0.316/lib/App/Cmd/Simple.pm --- old/App-Cmd-0.312/lib/App/Cmd/Simple.pm 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/lib/App/Cmd/Simple.pm 2012-02-11 16:51:08.000000000 +0100 @@ -3,7 +3,7 @@ package App::Cmd::Simple; { - $App::Cmd::Simple::VERSION = '0.312'; + $App::Cmd::Simple::VERSION = '0.316'; } use App::Cmd::Command; BEGIN { our @ISA = 'App::Cmd::Command' } @@ -102,7 +102,7 @@ =head1 VERSION -version 0.312 +version 0.316 =head1 SYNOPSIS @@ -202,7 +202,7 @@ =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2011 by Ricardo Signes. +This software is copyright (c) 2012 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/lib/App/Cmd/Subdispatch/DashedStyle.pm new/App-Cmd-0.316/lib/App/Cmd/Subdispatch/DashedStyle.pm --- old/App-Cmd-0.312/lib/App/Cmd/Subdispatch/DashedStyle.pm 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/lib/App/Cmd/Subdispatch/DashedStyle.pm 2012-02-11 16:51:08.000000000 +0100 @@ -3,7 +3,7 @@ package App::Cmd::Subdispatch::DashedStyle; { - $App::Cmd::Subdispatch::DashedStyle::VERSION = '0.312'; + $App::Cmd::Subdispatch::DashedStyle::VERSION = '0.316'; } use App::Cmd::Subdispatch; BEGIN { our @ISA = 'App::Cmd::Subdispatch' }; @@ -64,7 +64,7 @@ =head1 VERSION -version 0.312 +version 0.316 =head1 METHODS @@ -90,7 +90,7 @@ =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2011 by Ricardo Signes. +This software is copyright (c) 2012 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/lib/App/Cmd/Subdispatch.pm new/App-Cmd-0.316/lib/App/Cmd/Subdispatch.pm --- old/App-Cmd-0.312/lib/App/Cmd/Subdispatch.pm 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/lib/App/Cmd/Subdispatch.pm 2012-02-11 16:51:08.000000000 +0100 @@ -3,7 +3,7 @@ package App::Cmd::Subdispatch; { - $App::Cmd::Subdispatch::VERSION = '0.312'; + $App::Cmd::Subdispatch::VERSION = '0.316'; } use App::Cmd; @@ -78,7 +78,7 @@ =head1 VERSION -version 0.312 +version 0.316 =head1 METHODS @@ -116,7 +116,7 @@ =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2011 by Ricardo Signes. +This software is copyright (c) 2012 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/lib/App/Cmd/Tester/CaptureExternal.pm new/App-Cmd-0.316/lib/App/Cmd/Tester/CaptureExternal.pm --- old/App-Cmd-0.312/lib/App/Cmd/Tester/CaptureExternal.pm 1970-01-01 01:00:00.000000000 +0100 +++ new/App-Cmd-0.316/lib/App/Cmd/Tester/CaptureExternal.pm 2012-02-11 16:51:08.000000000 +0100 @@ -0,0 +1,97 @@ +use strict; +use warnings; +package App::Cmd::Tester::CaptureExternal; +{ + $App::Cmd::Tester::CaptureExternal::VERSION = '0.316'; +} + +use parent 'App::Cmd::Tester'; +use Capture::Tiny 0.13 qw/capture/; + +# ABSTRACT: Extends App::Cmd::Tester to capture from external subprograms + + +sub _run_with_capture { + my ($class, $app, $argv) = @_; + + my $run_rv; + + my ($stdout, $stderr, $ok) = capture { + eval { + local $App::Cmd::Tester::TEST_IN_PROGRESS = 1; + local @ARGV = @$argv; + $run_rv = $app->run; + 1; + }; + }; + + my $error = $ok ? undef : $@; + + return { + stdout => $stdout, + stderr => $stderr, + output => $stdout . $stderr, + error => $error, + run_rv => $run_rv, + }; +} + +1; + +__END__ +=pod + +=head1 NAME + +App::Cmd::Tester::CaptureExternal - Extends App::Cmd::Tester to capture from external subprograms + +=head1 VERSION + +version 0.316 + +=head1 SYNOPSIS + + use Test::More tests => 4; + use App::Cmd::Tester::CaptureExternal; + + use YourApp; + + my $result = test_app(YourApp => [ qw(command --opt value) ]); + + like($result->stdout, qr/expected output/, 'printed what we expected'); + + is($result->stderr, '', 'nothing sent to sderr'); + + ok($result->output, "STDOUT concatenated with STDERR"); + +=head1 DESCRIPTION + +L<App::Cmd::Tester> provides a useful scaffold for testing applications, but it +is unable to capture output generated from any external subprograms that are +invoked from the application. + +This subclass uses an alternate mechanism for capturing output +(L<Capture::Tiny>) that does capture from external programs, with one +major limitation. + +It is not possible to capture externally from both STDOUT and STDERR while +also having appropriately interleaved combined output. Therefore, the +C<output> from this subclass simply concatenates the two. + +You can still use C<output> for testing if there is any output at all or for +testing if something appeared in either output stream, but you can't rely on +the ordering being correct between lines to STDOUT and lines to STDERR. + +=head1 AUTHOR + +Ricardo Signes <r...@cpan.org> + +=head1 COPYRIGHT AND LICENSE + +This software is copyright (c) 2012 by Ricardo Signes. + +This is free software; you can redistribute it and/or modify it under +the same terms as the Perl 5 programming language system itself. + +=cut + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/lib/App/Cmd/Tester.pm new/App-Cmd-0.316/lib/App/Cmd/Tester.pm --- old/App-Cmd-0.312/lib/App/Cmd/Tester.pm 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/lib/App/Cmd/Tester.pm 2012-02-11 16:51:08.000000000 +0100 @@ -2,7 +2,7 @@ use warnings; package App::Cmd::Tester; { - $App::Cmd::Tester::VERSION = '0.312'; + $App::Cmd::Tester::VERSION = '0.316'; } # ABSTRACT: for capturing the result of running an app @@ -28,6 +28,28 @@ sub test_app { my ($class, $app, $argv) = @_; + $app = $app->new unless ref($app) or $app->isa('App::Cmd::Simple'); + + my $result = $class->_run_with_capture($app, $argv); + + my $error = $result->{error}; + + my $exit_code = defined $error ? ((0+$!)||-1) : 0; + + if ($error and eval { $error->isa('App::Cmd::Tester::Exited') }) { + $exit_code = $$error; + } + + $class->result_class->new({ + app => $app, + exit_code => $exit_code, + %$result, + }); +} + +sub _run_with_capture { + my ($class, $app, $argv) = @_; + require IO::TieCombine; my $hub = IO::TieCombine->new; @@ -36,8 +58,6 @@ my $run_rv; - $app = $app->new unless ref($app) or $app->isa('App::Cmd::Simple'); - my $ok = eval { local $TEST_IN_PROGRESS = 1; local @ARGV = @$argv; @@ -47,27 +67,19 @@ my $error = $ok ? undef : $@; - my $exit_code = defined $error ? ((0+$!)||-1) : 0; - - if ($error and eval { $error->isa('App::Cmd::Tester::Exited') }) { - $exit_code = $$error; - } - - $class->result_class->new({ - app => $app, + return { stdout => $hub->slot_contents('stdout'), stderr => $hub->slot_contents('stderr'), output => $hub->combined_contents, error => $error, run_rv => $run_rv, - exit_code => $exit_code - }); + }; } { package App::Cmd::Tester::Result; { - $App::Cmd::Tester::Result::VERSION = '0.312'; + $App::Cmd::Tester::Result::VERSION = '0.316'; } sub new { @@ -86,7 +98,7 @@ { package App::Cmd::Tester::Exited; { - $App::Cmd::Tester::Exited::VERSION = '0.312'; + $App::Cmd::Tester::Exited::VERSION = '0.316'; } sub throw { my ($class, $code) = @_; @@ -106,7 +118,7 @@ =head1 VERSION -version 0.312 +version 0.316 =head1 SYNOPSIS @@ -168,7 +180,7 @@ =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2011 by Ricardo Signes. +This software is copyright (c) 2012 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/lib/App/Cmd/Tutorial.pod new/App-Cmd-0.316/lib/App/Cmd/Tutorial.pod --- old/App-Cmd-0.312/lib/App/Cmd/Tutorial.pod 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/lib/App/Cmd/Tutorial.pod 2012-02-11 16:51:08.000000000 +0100 @@ -13,7 +13,7 @@ =head1 VERSION -version 0.312 +version 0.316 =head1 DESCRIPTION @@ -179,7 +179,7 @@ =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2011 by Ricardo Signes. +This software is copyright (c) 2012 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/lib/App/Cmd.pm new/App-Cmd-0.316/lib/App/Cmd.pm --- old/App-Cmd-0.312/lib/App/Cmd.pm 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/lib/App/Cmd.pm 2012-02-11 16:51:08.000000000 +0100 @@ -4,7 +4,7 @@ package App::Cmd; { - $App::Cmd::VERSION = '0.312'; + $App::Cmd::VERSION = '0.316'; } use App::Cmd::ArgProcessor; BEGIN { our @ISA = 'App::Cmd::ArgProcessor' }; @@ -12,7 +12,6 @@ use File::Basename (); use Module::Pluggable::Object (); -use Text::Abbrev (); use Class::Load (); use Sub::Exporter -setup => { @@ -101,6 +100,7 @@ if ($self->allow_any_unambiguous_abbrev) { # add abbreviations to list of authorized commands + require Text::Abbrev; my %abbrev = Text::Abbrev::abbrev( keys %plugin ); @plugin{ keys %abbrev } = @plugin{ values %abbrev }; } @@ -382,7 +382,7 @@ =head1 VERSION -version 0.312 +version 0.316 =head1 SYNOPSIS @@ -645,7 +645,7 @@ =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2011 by Ricardo Signes. +This software is copyright (c) 2012 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/t/basic.t new/App-Cmd-0.316/t/basic.t --- old/App-Cmd-0.312/t/basic.t 2011-08-18 00:02:40.000000000 +0200 +++ new/App-Cmd-0.316/t/basic.t 2012-02-11 16:51:08.000000000 +0100 @@ -3,7 +3,7 @@ use strict; use warnings; -use Test::More tests => 11; +use Test::More tests => 12; use App::Cmd::Tester; use lib 't/lib'; @@ -16,7 +16,7 @@ is_deeply( [ sort $app->command_names ], - [ sort qw(help --help -h -? commands exit frob frobulate justusage stock) ], + [ sort qw(help --help -h -? commands exit frob frobulate hello justusage stock) ], "got correct list of registered command names", ); @@ -27,6 +27,7 @@ App::Cmd::Command::help Test::MyCmd::Command::exit Test::MyCmd::Command::frobulate + Test::MyCmd::Command::hello Test::MyCmd::Command::justusage Test::MyCmd::Command::stock ) ], @@ -66,7 +67,7 @@ my $return = test_app('Test::MyCmd', [ qw(commands) ]); -for my $name (qw(commands frobulate justusage stock)) { +for my $name (qw(commands frobulate hello justusage stock)) { like($return->stdout, qr/^\s+\Q$name\E/sm, "$name plugin in listing"); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/t/capture-ext.t new/App-Cmd-0.316/t/capture-ext.t --- old/App-Cmd-0.312/t/capture-ext.t 1970-01-01 01:00:00.000000000 +0100 +++ new/App-Cmd-0.316/t/capture-ext.t 2012-02-11 16:51:08.000000000 +0100 @@ -0,0 +1,20 @@ +#!perl + +use strict; +use warnings; + +use Test::More tests => 2; +use App::Cmd::Tester::CaptureExternal; + +use lib 't/lib'; + +use Test::MyCmd; + +my $app = Test::MyCmd->new; + +isa_ok($app, 'Test::MyCmd'); + +my $return = test_app('Test::MyCmd', [ qw(hello) ]); + +like( $return->output, qr/Hello World/, "Captured external subcommand output" ); + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-Cmd-0.312/t/lib/Test/MyCmd/Command/hello.pm new/App-Cmd-0.316/t/lib/Test/MyCmd/Command/hello.pm --- old/App-Cmd-0.312/t/lib/Test/MyCmd/Command/hello.pm 1970-01-01 01:00:00.000000000 +0100 +++ new/App-Cmd-0.316/t/lib/Test/MyCmd/Command/hello.pm 2012-02-11 16:51:08.000000000 +0100 @@ -0,0 +1,24 @@ +package Test::MyCmd::Command::hello; + +use strict; +use warnings; + +use base qw(App::Cmd::Command); + +use IPC::Cmd qw/can_run/; + +sub execute { + my ($self, $opt, $arg) =@_; + + if ( $^O eq 'MSWin32' ) { + system('cmd', '/c', 'echo', "Hello World"); + } + else { + my $echo = can_run("echo"); + $self->usage_error("Program 'echo' not found") unless $echo; + system($echo, "Hello World"); + } + return; +} + +1; -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org