Mini Kabibi Habibi
Current Path : C:/xampp/perl/bin/ |
|
Current File : C:/xampp/perl/bin/scan-perl-prereqs-nqlite |
#!perl
BEGIN { pop @INC if $INC[-1] eq '.' }
use strict;
use warnings;
use lib ();
use Perl::PrereqScanner::NotQuiteLite::App;
use Getopt::Long;
use Pod::Usage;
GetOptions(\my %opts, qw/
inc|lib|I=s@
libs|scan_also|scan-also|also=s@
parsers|parser=s@
version
help
json
cpanfile
save_cpanfile|save-cpanfile
exclude_core|exclude-core
perl_version|perl-version=s
allow_test_pms|allow-test-pms
features|feature=s@
base_dir|base-dir=s
ignore_re|ignore-re=s
ignore=s@
private_re|private-re=s
private=s@
recommends
suggests
develop
blib
use_index|use-index=s
perl_minimum_version
verbose
/);
if ($opts{version}) {
print "scan-perl-prereqs-nqlite v" . (Perl::PrereqScanner::NotQuiteLite->VERSION || 'DEV') . "\n";
exit;
}
if ($opts{help}) {
pod2usage(-verbose => 1);
exit;
}
lib->import(@{$opts{inc}}) if $opts{inc};
for my $key (keys %opts) {
next unless $key =~ /\-/;
(my $replaced_key = $key) =~ s/\-/_/g;
$opts{$replaced_key} = $opts{$key};
}
$opts{print} = 1;
Perl::PrereqScanner::NotQuiteLite::App->new(%opts)->run(@ARGV);
__END__
=encoding utf-8
=head1 NAME
scan-perl-prereqs-nqlite
=head1 SYNOPSIS
scan-perl-prereqs-nqlite [DIRS|FILES]
=head1 DESCRIPTION
C<scan-perl-prereqs-nqlite> traverses several files and
subdirectories in the current directory with L<File::Find> to
collect all C<.pl>, C<.PL>, C<.pm>, C<.t>, C<.psgi> files (as well
as all the files in C<scripts?> and C<bin> directories), and prints
a single combined list of prerequisites, which should be suitable
for piping to C<cpanm> or similar tools.
You can also pass files and/or directories to limit files to scan.
In this case, however, C<scan-perl-prereqs-nqlite> may fail to
exclude modules that should belong to the same distribution.
=head1 OPTIONS
=over 4
=item version
Show the version.
=item help
Show this help.
=item json
Print prerequisites as a JSON if L<JSON::PP> is installed.
=item cpanfile, save_cpanfile
Print prerequisites as C<cpanfile> if L<Module::CPANfile> is installed. If C<safe-cpanfile> is set, create or update C<cpanfile>.
=item suggests
Print suggestions (C<use>d modules in C<eval>) as well.
=item develop
Print requirements/suggestions for developers (C<use>d modules
in C<xt> and C<author> directories) as well.
=item perl_minimum_version
May modify required perl version if new language features are
used without declaring the required perl version explicitly.
=item exclude_core
Ignore prerequisites that are bundled with Perl (of 5.008001
by default). This requires L<Module::CoreList> version 2.99 or
above.
=item perl_version
Ignore prerequisites that are bundled with Perl of a specific
version. This implies C<exclude-core> as well.
=item allow_test_pms
Print requirements/suggestions in .pm files that are placed under
t/ directory but are not directly used from .t files, too.
If Test::Class family is used under t/, this option is implicitly set.
=item base_dir
Set the base directory from where C<scan-perl-prereqs-nqlite>
starts traversing files and directories.
=item ignore
Set a list of paths C<scan-perl-prereqs-nqlite> should ignore. This is
useful when your distribution has a set of OS-specific modules, for example.
=item ignore_re
You can also specify a regexp instead of a list of paths. If this is
set, C<ignore> options are ignored.
=item private
Set a list of modules C<scan-perl-prereqs-nqlite> should consider
private, that is, that are not uploaded to the CPAN. Contrary to
the C<ignore> option, which makes the scanner skip scanning the
file, this option lets the scanner scan files, and excludes matched
prerequisites afterwards.
=item private_re
You can also specify a regexp instead of a list of modules. If this
is set, C<private> options are ignored.
=item scan_also
Set a list of extra paths C<scan-perl-prereqs-nqlite> should also
scan. This is useful when your application/distribution uses an
untraditional file layout.
=item feature
scan-perl-prereqs-nqlite \
--feature name:description:lib/My/Plugin/For/SpecificOS \
--feature name:description:web/lib,web/bin
Specify a feature name, a description, and matching paths.
=item use_index
You can specify an index name of CPAN::Common::Index module (such as "Mirror" or "MetaDB") not to list all the modules of a required distribution.
=item blib
If this is set, C<scan-perl-prereqs-nqlite> will traverse
subdirectories under C<blib> to collect runtime requirements.
It may return better results if some of the files are located in
some uncommon places and/or some of them are listed in C<no_index>.
However, files in C<blib> may be older than the ones under C<lib>
etc, and you need to update them by running a make or a C<Build>
script before you run C<scan-perl-prereqs-nqlite>.
=item parser
Set a list of parsers (or parser tags) C<scan-perl-prereqs-nqlite>
uses. If this option is not set, the scanner uses C<:installed>
parsers by default.
=item inc
Add a list of additional @INC path C<scan-perl-prereqs-nqlite>
looks for private parsers.
=item verbose
Print verbose messages.
=back
=head1 AUTHOR
Kenichi Ishigaki, E<lt>ishigaki@cpan.orgE<gt>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2015 by Kenichi Ishigaki.
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