X7ROOT File Manager
Current Path:
/usr/share/perl5/vendor_perl/CPAN
usr
/
share
/
perl5
/
vendor_perl
/
CPAN
/
??
..
??
API
??
Admin.pm
(7.6 KB)
??
Author.pm
(6.68 KB)
??
Bundle.pm
(9.6 KB)
??
CacheMgr.pm
(7.48 KB)
??
Complete.pm
(5.88 KB)
??
Debug.pm
(2.05 KB)
??
DeferredCode.pm
(189 B)
??
Distribution.pm
(159.97 KB)
??
Distroprefs.pm
(11.71 KB)
??
Distrostatus.pm
(972 B)
??
Exception
??
FTP
??
FTP.pm
(41.63 KB)
??
FirstTime.pm
(70.29 KB)
??
HTTP
??
HandleConfig.pm
(22.75 KB)
??
Index.pm
(21.7 KB)
??
InfoObj.pm
(6.75 KB)
??
Kwalify
??
Kwalify.pm
(3.35 KB)
??
LWP
??
Meta
??
Meta.pm
(29.56 KB)
??
Mirrors.pm
(16.3 KB)
??
Module.pm
(21.87 KB)
??
Nox.pm
(953 B)
??
Plugin
??
Plugin.pm
(3.14 KB)
??
Prompt.pm
(567 B)
??
Queue.pm
(6.78 KB)
??
Shell.pm
(71.88 KB)
??
Tarzip.pm
(16.32 KB)
??
URL.pm
(588 B)
??
Version.pm
(4.29 KB)
Editing: Plugin.pm
package CPAN::Plugin; use strict; use warnings; our $VERSION = '0.96'; require CPAN; ###################################################################### sub new { # ; my ($class, %params) = @_; my $self = +{ (ref $class ? (%$class) : ()), %params, }; $self = bless $self, ref $class ? ref $class : $class; unless (ref $class) { local $_; no warnings 'once'; $CPAN::META->use_inst ($_) for $self->plugin_requires; } $self; } ###################################################################### sub plugin_requires { # ; } ###################################################################### sub distribution_object { # ; my ($self) = @_; $self->{distribution_object}; } ###################################################################### sub distribution { # ; my ($self) = @_; my $distribution = $self->distribution_object->id; CPAN::Shell->expand("Distribution",$distribution) or $self->frontend->mydie("Unknowns distribution '$distribution'\n"); } ###################################################################### sub distribution_info { # ; my ($self) = @_; CPAN::DistnameInfo->new ($self->distribution->id); } ###################################################################### sub build_dir { # ; my ($self) = @_; my $build_dir = $self->distribution->{build_dir} or $self->frontend->mydie("Distribution has not been built yet, cannot proceed"); } ###################################################################### sub is_xs { # my ($self) = @_; my @xs = glob File::Spec->catfile ($self->build_dir, '*.xs'); # quick try unless (@xs) { require ExtUtils::Manifest; my $manifest_file = File::Spec->catfile ($self->build_dir, "MANIFEST"); my $manifest = ExtUtils::Manifest::maniread($manifest_file); @xs = grep /\.xs$/, keys %$manifest; } scalar @xs; } ###################################################################### package CPAN::Plugin; 1; __END__ =pod =head1 NAME CPAN::Plugin - Base class for CPAN shell extensions =head1 SYNOPSIS package CPAN::Plugin::Flurb; use parent 'CPAN::Plugin'; sub post_test { my ($self, $distribution_object) = @_; $self = $self->new (distribution_object => $distribution_object); ...; } =head1 DESCRIPTION =head2 Alpha Status The plugin system in the CPAN shell was introduced in version 2.07 and is still considered experimental. =head2 How Plugins work? See L<CPAN/"Plugin support">. =head1 METHODS =head2 plugin_requires returns list of packages given plugin requires for functionality. This list is evaluated using C<CPAN->use_inst> method. =head2 distribution_object Get current distribution object. =head2 distribution =head2 distribution_info =head2 build_dir Simple delegatees for misc parameters derived from distribution =head2 is_xs Predicate to detect whether package contains XS. =head1 AUTHOR Branislav Zahradnik <barney@cpan.org> =cut
Upload File
Create Folder