diff options
author | intrigeri <intrigeri@boum.org> | 2019-07-18 17:59:41 +0000 |
---|---|---|
committer | intrigeri <intrigeri@boum.org> | 2019-07-18 17:59:41 +0000 |
commit | cd2471c960c55d8fcace1f402a5c73f0710804bf (patch) | |
tree | 762f656a128a413d0363c9585b2f9fdd81ad89eb | |
parent | 86b00771e67ba78f4d76558ac8dc9eccadde80d4 (diff) | |
parent | 6ed00c5f9765c1dd628451fc36aa335278365cb2 (diff) |
Update upstream source from tag 'upstream/1.34'
Update to upstream version '1.34'
with Debian dir 6526de88cbf4a097c18312f0d8d211d2d3561d6d
-rw-r--r-- | Changes | 6 | ||||
-rw-r--r-- | INSTALL | 33 | ||||
-rw-r--r-- | LICENSE | 6 | ||||
-rw-r--r-- | MANIFEST | 13 | ||||
-rw-r--r-- | META.json | 16 | ||||
-rw-r--r-- | META.yml | 14 | ||||
-rw-r--r-- | Makefile.PL | 32 | ||||
-rw-r--r-- | README | 4 | ||||
-rw-r--r-- | cpanfile | 25 | ||||
-rw-r--r-- | dist.ini | 4 | ||||
-rw-r--r-- | lib/Class/Inspector.pm | 32 | ||||
-rw-r--r-- | lib/Class/Inspector/Functions.pm | 6 | ||||
-rwxr-xr-x | maint/cip-before-install | 5 | ||||
-rw-r--r-- | t/01_use.t (renamed from t/01_compile.t) | 7 | ||||
-rw-r--r-- | t/class_inspector.t (renamed from t/02_main.t) | 24 | ||||
-rw-r--r-- | t/class_inspector__devel_hide.t | 11 | ||||
-rw-r--r-- | t/class_inspector__inc_to_local.t (renamed from t/03_inc_to_local.t) | 2 | ||||
-rw-r--r-- | t/class_inspector_functions.t (renamed from t/04_main_functions.t) | 10 | ||||
-rw-r--r-- | xt/author/version.t | 6 |
19 files changed, 137 insertions, 119 deletions
@@ -1,5 +1,11 @@ Revision history for Perl extension Class-Inspector +1.34 2019-03-28 12:13:40 -0400 + - Producton release identical to 1.33_01 + +1.33_01 2019-03-27 23:30:09 -0400 + - Fix compatability with Devel::Hide (gh#6, gh#8). + 1.32 2017-08-08 14:12:42 -0400 - The installed method now supports @INC hooks of any type (coderef was supported as of 1.29, now arrayrefs and objects @@ -22,7 +22,7 @@ Alternatively, if your CPAN shell is set up, you should just be able to do: ## Manual installation As a last resort, you can manually install it. Download the tarball, untar it, -then build it: +install configure prerequisites (see below), then build it: % perl Makefile.PL % make && make test @@ -31,13 +31,42 @@ Then install it: % make install +On Windows platforms, you should use `dmake` or `nmake`, instead of `make`. + If your perl is system-managed, you can create a local::lib in your home directory to install modules to. For details, see the local::lib documentation: https://metacpan.org/pod/local::lib +The prerequisites of this distribution will also have to be installed manually. The +prerequisites are listed in one of the files: `MYMETA.yml` or `MYMETA.json` generated +by running the manual build process described above. + +## Configure Prerequisites + +This distribution requires other modules to be installed before this +distribution's installer can be run. They can be found under the +"configure_requires" key of META.yml or the +"{prereqs}{configure}{requires}" key of META.json. + +## Other Prerequisites + +This distribution may require additional modules to be installed after running +Makefile.PL. +Look for prerequisites in the following phases: + +* to run make, PHASE = build +* to use the module code itself, PHASE = runtime +* to run tests, PHASE = test + +They can all be found in the "PHASE_requires" key of MYMETA.yml or the +"{prereqs}{PHASE}{requires}" key of MYMETA.json. + ## Documentation Class-Inspector documentation is available as POD. -You can run perldoc from a shell to read the documentation: +You can run `perldoc` from a shell to read the documentation: % perldoc Class::Inspector + +For more information on installing Perl modules via CPAN, please see: +https://www.cpan.org/modules/INSTALL.html @@ -1,4 +1,4 @@ -This software is copyright (c) 2016 by Adam Kennedy. +This software is copyright (c) 2002-2019 by Adam Kennedy. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. @@ -12,7 +12,7 @@ b) the "Artistic License" --- The GNU General Public License, Version 1, February 1989 --- -This software is Copyright (c) 2016 by Adam Kennedy. +This software is Copyright (c) 2002-2019 by Adam Kennedy. This is free software, licensed under: @@ -272,7 +272,7 @@ That's all there is to it! --- The Artistic License 1.0 --- -This software is Copyright (c) 2016 by Adam Kennedy. +This software is Copyright (c) 2002-2019 by Adam Kennedy. This is free software, licensed under: @@ -1,4 +1,4 @@ -# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.010. +# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.012. Changes INSTALL LICENSE @@ -8,15 +8,16 @@ META.yml Makefile.PL README author.yml -cpanfile dist.ini lib/Class/Inspector.pm lib/Class/Inspector/Functions.pm +maint/cip-before-install t/00_diag.t -t/01_compile.t -t/02_main.t -t/03_inc_to_local.t -t/04_main_functions.t +t/01_use.t +t/class_inspector.t +t/class_inspector__devel_hide.t +t/class_inspector__inc_to_local.t +t/class_inspector_functions.t xt/author/eol.t xt/author/no_tabs.t xt/author/pod.t @@ -5,7 +5,7 @@ "Adam Kennedy <adamk@cpan.org>" ], "dynamic_config" : 0, - "generated_by" : "Dist::Zilla version 6.010, CPAN::Meta::Converter version 2.150010", + "generated_by" : "Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010", "license" : [ "perl_5" ], @@ -26,7 +26,7 @@ "FindBin" : "0", "Test::EOL" : "0", "Test::Fixme" : "0.07", - "Test::More" : "0.94", + "Test::More" : "0.98", "Test::NoTabs" : "0", "Test::Pod" : "0", "Test::Pod::Coverage" : "0", @@ -43,7 +43,7 @@ }, "test" : { "requires" : { - "Test::More" : "0.94", + "Test::More" : "0.98", "perl" : "5.006" } } @@ -51,11 +51,11 @@ "provides" : { "Class::Inspector" : { "file" : "lib/Class/Inspector.pm", - "version" : "1.32" + "version" : "1.34" }, "Class::Inspector::Functions" : { "file" : "lib/Class/Inspector/Functions.pm", - "version" : "1.32" + "version" : "1.34" } }, "release_status" : "stable", @@ -70,7 +70,7 @@ "web" : "https://github.com/plicease/Class-Inspector" } }, - "version" : "1.32", + "version" : "1.34", "x_contributors" : [ "Adam Kennedy <adamk@cpan.org>", "Graham Ollis <plicease@cpan.org>", @@ -78,6 +78,8 @@ "Steffen M\u00fcller", "Kivanc Yazan (KYZN)" ], - "x_serialization_backend" : "Cpanel::JSON::XS version 3.0237" + "x_generated_by_perl" : "v5.26.2", + "x_serialization_backend" : "Cpanel::JSON::XS version 4.09", + "x_use_unsafe_inc" : 0 } @@ -4,13 +4,13 @@ author: - 'Graham Ollis <plicease@cpan.org>' - 'Adam Kennedy <adamk@cpan.org>' build_requires: - Test::More: '0.94' + Test::More: '0.98' perl: '5.006' configure_requires: ExtUtils::MakeMaker: '0' perl: '5.006' dynamic_config: 0 -generated_by: 'Dist::Zilla version 6.010, CPAN::Meta::Converter version 2.150010' +generated_by: 'Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -19,10 +19,10 @@ name: Class-Inspector provides: Class::Inspector: file: lib/Class/Inspector.pm - version: '1.32' + version: '1.34' Class::Inspector::Functions: file: lib/Class/Inspector/Functions.pm - version: '1.32' + version: '1.34' requires: File::Spec: '0.80' perl: '5.006' @@ -30,11 +30,13 @@ resources: bugtracker: https://github.com/plicease/Class-Inspector/issues homepage: https://metacpan.org/pod/Class::Inspector repository: git://github.com/plicease/Class-Inspector.git -version: '1.32' +version: '1.34' x_contributors: - 'Adam Kennedy <adamk@cpan.org>' - 'Graham Ollis <plicease@cpan.org>' - 'Tom Wyant' - 'Steffen Müller' - 'Kivanc Yazan (KYZN)' -x_serialization_backend: 'YAML::Tiny version 1.70' +x_generated_by_perl: v5.26.2 +x_serialization_backend: 'YAML::Tiny version 1.73' +x_use_unsafe_inc: 0 diff --git a/Makefile.PL b/Makefile.PL index 929c66c..30e6da9 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -1,5 +1,5 @@ -use strict; use warnings; BEGIN { + use strict; use warnings; { my $fn = 'Class/Inspector.pm'; unless(index('lib/Class/Inspector.pm', $fn) == index('lib/Class/Inspector.pm', 'Class/Inspector.pm')) @@ -16,47 +16,43 @@ BEGIN { exit; } } -# This file was automatically generated by Dist::Zilla::Plugin::Author::Plicease::MakeMaker v2.21. +# This file was automatically generated by Dist::Zilla::Plugin::Author::Plicease::MakeMaker v2.36. use strict; use warnings; - use 5.006; - use ExtUtils::MakeMaker; my %WriteMakefileArgs = ( - "ABSTRACT" => "Get information about a class and its structure", - "AUTHOR" => "Graham Ollis <plicease\@cpan.org>, Adam Kennedy <adamk\@cpan.org>", + "ABSTRACT" => "Get information about a class and its structure", + "AUTHOR" => "Graham Ollis <plicease\@cpan.org>, Adam Kennedy <adamk\@cpan.org>", "CONFIGURE_REQUIRES" => { "ExtUtils::MakeMaker" => 0 }, - "DISTNAME" => "Class-Inspector", - "LICENSE" => "perl", + "DISTNAME" => "Class-Inspector", + "LICENSE" => "perl", "MIN_PERL_VERSION" => "5.006", - "NAME" => "Class::Inspector", - "PM" => { - "lib/Class/Inspector.pm" => "\$(INST_LIB)/Class/Inspector.pm", + "NAME" => "Class::Inspector", + "PM" => { + "lib/Class/Inspector.pm" => "\$(INST_LIB)/Class/Inspector.pm", "lib/Class/Inspector/Functions.pm" => "\$(INST_LIB)/Class/Inspector/Functions.pm" }, "PREREQ_PM" => { "File::Spec" => "0.80" }, "TEST_REQUIRES" => { - "Test::More" => "0.94" + "Test::More" => "0.98" }, - "VERSION" => "1.32", - "test" => { + "VERSION" => "1.34", + "test" => { "TESTS" => "t/*.t" } ); - my %FallbackPrereqs = ( "File::Spec" => "0.80", - "Test::More" => "0.94" + "Test::More" => "0.98" ); - unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) { delete $WriteMakefileArgs{TEST_REQUIRES}; delete $WriteMakefileArgs{BUILD_REQUIRES}; @@ -66,4 +62,4 @@ unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) { delete $WriteMakefileArgs{CONFIGURE_REQUIRES} unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; -WriteMakefile(%WriteMakefileArgs); +WriteMakefile(%WriteMakefileArgs);
\ No newline at end of file @@ -4,7 +4,7 @@ NAME VERSION - version 1.32 + version 1.34 SYNOPSIS @@ -248,7 +248,7 @@ AUTHOR COPYRIGHT AND LICENSE - This software is copyright (c) 2016 by Adam Kennedy. + This software is copyright (c) 2002-2019 by Adam Kennedy. 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 --git a/cpanfile b/cpanfile deleted file mode 100644 index 0e89d08..0000000 --- a/cpanfile +++ /dev/null @@ -1,25 +0,0 @@ -requires "File::Spec" => "0.80"; -requires "perl" => "5.006"; - -on 'test' => sub { - requires "Test::More" => "0.94"; - requires "perl" => "5.006"; -}; - -on 'configure' => sub { - requires "ExtUtils::MakeMaker" => "0"; - requires "perl" => "5.006"; -}; - -on 'develop' => sub { - requires "FindBin" => "0"; - requires "Test::EOL" => "0"; - requires "Test::Fixme" => "0.07"; - requires "Test::More" => "0.94"; - requires "Test::NoTabs" => "0"; - requires "Test::Pod" => "0"; - requires "Test::Pod::Coverage" => "0"; - requires "Test::Pod::Spelling::CommonMistakes" => "0"; - requires "Test::Strict" => "0"; - requires "YAML" => "0"; -}; @@ -3,8 +3,8 @@ author = Graham Ollis <plicease@cpan.org> author = Adam Kennedy <adamk@cpan.org> license = Perl_5 copyright_holder = Adam Kennedy -copyright_year = 2016 -version = 1.32 +copyright_year = 2002-2019 +version = 1.34 [@Author::Plicease] :version = 2.21 diff --git a/lib/Class/Inspector.pm b/lib/Class/Inspector.pm index 83bdab7..9bbb88c 100644 --- a/lib/Class/Inspector.pm +++ b/lib/Class/Inspector.pm @@ -8,7 +8,7 @@ use warnings; use File::Spec (); # ABSTRACT: Get information about a class and its structure -our $VERSION = '1.32'; # VERSION +our $VERSION = '1.34'; # VERSION # If Unicode is available, enable it so that the @@ -34,12 +34,14 @@ our $UNIX = !! ( $File::Spec::ISA[0] eq 'File::Spec::Unix' ); sub _resolved_inc_handler { my $class = shift; my $filename = $class->_inc_filename(shift) or return undef; - + foreach my $inc ( @INC ) { my $ref = ref $inc; if($ref eq 'CODE') { my @ret = $inc->($inc, $filename); - if(@ret) { + if(@ret == 1 && ! defined $ret[0]) { + # do nothing. + } elsif(@ret) { return 1; } } @@ -56,7 +58,7 @@ sub _resolved_inc_handler { } } } - + ''; } @@ -231,7 +233,7 @@ sub methods { foreach my $namespace ( @path ) { my @functions = grep { ! $methods{$_} } grep { /$RE_IDENTIFIER/o } - grep { defined &{"${namespace}::$_"} } + grep { defined &{"${namespace}::$_"} } keys %{"${namespace}::"}; foreach ( @functions ) { $methods{$_} = $namespace; @@ -245,8 +247,8 @@ sub methods { # Return in the correct format @methodlist = map { "$methods{$_}::$_" } @methodlist if $options{full}; - @methodlist = map { - [ "$methods{$_}::$_", $methods{$_}, $_, \&{"$methods{$_}::$_"} ] + @methodlist = map { + [ "$methods{$_}::$_", $methods{$_}, $_, \&{"$methods{$_}::$_"} ] } @methodlist if $options{expanded}; \@methodlist; @@ -332,7 +334,7 @@ sub recursive_children { my $name = $class->_class(shift) or return (); my @children = ( $name ); - # Do the search using a nicer, more memory efficient + # Do the search using a nicer, more memory efficient # variant of actual recursion. my $i = 0; no strict 'refs'; @@ -404,7 +406,7 @@ Class::Inspector - Get information about a class and its structure =head1 VERSION -version 1.32 +version 1.34 =head1 SYNOPSIS @@ -432,7 +434,7 @@ version 1.32 Class::Inspector allows you to get information about a loaded class. Most or all of this information can be found in other ways, but they aren't always very friendly, and usually involve a relatively high level of Perl wizardry, -or strange and unusual looking code. Class::Inspector attempts to provide +or strange and unusual looking code. Class::Inspector attempts to provide an easier, more friendly interface to this information. =head1 METHODS @@ -572,7 +574,7 @@ order. =item public The C<public> option will return only 'public' methods, as defined by the Perl -convention of prepending an underscore to any 'private' methods. The C<public> +convention of prepending an underscore to any 'private' methods. The C<public> option will effectively remove any methods that start with an underscore. =item private @@ -593,12 +595,12 @@ C<[ 'Class::method1', 'AnotherClass::method2', 'Class::method3' ]>. =item expanded -The C<expanded> option will cause a lot more information about method to be +The C<expanded> option will cause a lot more information about method to be returned. Instead of just the method name, you will instead get an array reference containing the method name as a single combined name, a la C<full>, the separate class and method, and a CODE ref to the actual function ( if -available ). Please note that the function reference is not guaranteed to -be available. C<Class::Inspector> is intended at some later time, to work +available ). Please note that the function reference is not guaranteed to +be available. C<Class::Inspector> is intended at some later time, to work with modules that have some kind of common run-time loader in place ( e.g C<Autoloader> or C<Class::Autouse> for example. @@ -648,7 +650,7 @@ Kivanc Yazan (KYZN) =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2016 by Adam Kennedy. +This software is copyright (c) 2002-2019 by Adam Kennedy. 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 --git a/lib/Class/Inspector/Functions.pm b/lib/Class/Inspector/Functions.pm index 187a340..37ef7eb 100644 --- a/lib/Class/Inspector/Functions.pm +++ b/lib/Class/Inspector/Functions.pm @@ -7,7 +7,7 @@ use Exporter (); use Class::Inspector (); # ABSTRACT: Get information about a class and its structure -our $VERSION = '1.32'; # VERSION +our $VERSION = '1.34'; # VERSION BEGIN { our @ISA = 'Exporter'; @@ -58,7 +58,7 @@ Class::Inspector::Functions - Get information about a class and its structure =head1 VERSION -version 1.32 +version 1.34 =head1 SYNOPSIS @@ -129,7 +129,7 @@ Kivanc Yazan (KYZN) =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2016 by Adam Kennedy. +This software is copyright (c) 2002-2019 by Adam Kennedy. 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 --git a/maint/cip-before-install b/maint/cip-before-install new file mode 100755 index 0000000..badcb2f --- /dev/null +++ b/maint/cip-before-install @@ -0,0 +1,5 @@ +#!/bin/bash + +set -ex + +cip exec cpanm Devel::Hide diff --git a/t/01_compile.t b/t/01_use.t index b0c2109..f501820 100644 --- a/t/01_compile.t +++ b/t/01_use.t @@ -1,11 +1,8 @@ -#!/usr/bin/perl - -# Compile testing for Class::Inspector - use strict; use warnings; -use Test::More tests => 2; +use Test::More tests => 3; ok( $] >= 5.006, "Your perl is new enough" ); use_ok('Class::Inspector'); +use_ok('Class::Inspector::Functions'); diff --git a/t/02_main.t b/t/class_inspector.t index 9850a5f..8fcbe7e 100644 --- a/t/02_main.t +++ b/t/class_inspector.t @@ -1,5 +1,3 @@ -#!/usr/bin/perl - # Unit testing for Class::Inspector # Do all the tests on ourself, where possible, as we know we will be loaded. @@ -66,7 +64,11 @@ ok( ($filename eq $inc_filename or index( CI->resolved_filename(CI), $inc_filena # Check the installed stuff ok( CI->installed( CI ), "->installed detects installed" ); -ok( ! CI->installed( BAD ), "->installed detects not installed" ); +ok( ! CI->installed( BAD ), "->installed detects not installed" ) + || do { + diag "\@INC=$_" for @INC; + diag "$_=$INC{$_}" for sort keys %INC; + }; @@ -248,21 +250,21 @@ ok( ! CI->methods( BAD ), "Expanded ->methods fails correctly" ); # Create the classes to use CLASSES: { package Foo; - + sub foo { 1 }; - + package Foo::Subclass; - + @Foo::Subclass::ISA = 'Foo'; - + package Bar; - + @Bar::ISA = 'Foo'; - + package This; - + sub isa { $_[1] eq 'Foo' ? 1 : undef } - + 1; } diff --git a/t/class_inspector__devel_hide.t b/t/class_inspector__devel_hide.t new file mode 100644 index 0000000..f18796a --- /dev/null +++ b/t/class_inspector__devel_hide.t @@ -0,0 +1,11 @@ +use strict; +use warnings; +use Test::More; +use Class::Inspector; + +eval q{ use Devel::Hide }; +plan skip_all => 'test requires Devel::Hide' if $@; +plan tests => 2; + +ok( Class::Inspector->installed('Class::Inspector') ); +ok( ! Class::Inspector->installed('Class::Inspector::Bogus') ); diff --git a/t/03_inc_to_local.t b/t/class_inspector__inc_to_local.t index 07d3069..f44c60e 100644 --- a/t/03_inc_to_local.t +++ b/t/class_inspector__inc_to_local.t @@ -1,5 +1,3 @@ -#!/usr/bin/perl - # Unit testing for Class::Inspector # Do all the tests on ourself, where possible, as we know we will be loaded. diff --git a/t/04_main_functions.t b/t/class_inspector_functions.t index 03f0918..2985bbc 100644 --- a/t/04_main_functions.t +++ b/t/class_inspector_functions.t @@ -1,5 +1,3 @@ -#!/usr/bin/perl - # Reproduce some of the unit tests in the main unit tests # of the method interface, but not all. This makes the maintenance # slightly less annoying. @@ -66,7 +64,7 @@ ok( ($filename eq $inc_filename or index( resolved_filename(CI), $inc_filename ) unshift @INC, sub { my $coderef = shift; my $filename = shift; - + if ($filename eq 'Foo/Bar.pm') { open my $fh, '<', __FILE__; return (undef, $fh); @@ -74,12 +72,12 @@ unshift @INC, sub { return }; -unshift @INC, [ sub { +unshift @INC, [ sub { my $arrayref = shift; my $filename = shift; die "args wrong" unless - ref($arrayref->[0]) eq 'CODE' + ref($arrayref->[0]) eq 'CODE' && $arrayref->[1] == 1 && $arrayref->[2] == 2 && $arrayref->[3] == 3; @@ -111,7 +109,7 @@ sub new { sub MyHook::INC { my($self, $filename) = @_; die "self wrong" unless ref $self eq 'MyHook'; - + if($filename eq 'Foo/Foo.pm') { open my $fh, '<', __FILE__; return $fh; diff --git a/xt/author/version.t b/xt/author/version.t index 31dfc98..153e334 100644 --- a/xt/author/version.t +++ b/xt/author/version.t @@ -13,8 +13,6 @@ BEGIN { 1 }; - plan skip_all => "test requires Path::Class" - unless eval q{ use Path::Class qw( file dir ); 1 }; plan skip_all => 'test requires YAML' unless eval q{ use YAML; 1; }; } @@ -23,10 +21,6 @@ use YAML qw( LoadFile ); use FindBin; use File::Spec; -plan skip_all => "test not built yet (run dzil test)" - unless -e dir( $FindBin::Bin)->parent->parent->file('Makefile.PL') - || -e dir( $FindBin::Bin)->parent->parent->file('Build.PL'); - my $config_filename = File::Spec->catfile( $FindBin::Bin, File::Spec->updir, File::Spec->updir, 'author.yml' ); |