1Perl::PrereqScanner::NoUtsQeuritCeoLnittrei:b:uAtpepdP(e3Pr)elr:l:PDroecruemqeSnctaantnieorn::NotQuiteLite::App(3)
2
3
4

NAME

6       Perl::PrereqScanner::NotQuiteLite::App
7

SYNOPSIS

9         scan-perl-prereqs-nqlite [options] [DIRS|FILES]
10
11         -or-
12
13         use Perl::PrereqScanner::NotQuiteLite::App;
14
15         my $app = Perl::PrereqScanner::NotQuiteLite::App->new(
16           parsers => [qw/:bundled/],
17           suggests => 1,
18           perl_minimum_version => 1,
19         );
20         my $prereqs = $app->run;
21

DESCRIPTION

23       Perl::PrereqScanner::NotQuiteLite::App walks down a directory and scans
24       appropriate files to find prerequisites.  You usually don't need to
25       touch this module directly, but you might want to if you need finer
26       control (to use a custom CPAN index etc).
27

METHODS

29   new
30       creates an object. Notable options are:
31
32       parsers
33           Perl::PrereqScanner::NotQuiteLite::App uses all the bundled parsers
34           by default, but you can change if you need your own parsers.  See
35           Perl::PrereqScanner::NotQuiteLite for details.
36
37       recommends, suggests, perl_minimum_version
38           Perl::PrereqScanner::NotQuiteLite::App usually returns "use"d
39           modules only, but you can change this behavior by setting these
40           options. See Perl::PrereqScanner::NotQuiteLite for details.
41
42       develop
43           If set, Perl::PrereqScanner::NotQuiteLite::App also scans files
44           under "xt" and "author" directories to find requirements for
45           development.
46
47       exclude_core
48           If set, Perl::PrereqScanner::NotQuiteLite::App ignores
49           prerequisites that are bundled with Perl (of 5.008001 by default,
50           or of a "use"d perl version if any). This requires Module::CoreList
51           version 2.99 or above.
52
53       perl_version
54           You can explicitly use this option to exclude core modules of a
55           specific perl version.
56
57       allow_test_pms
58           Perl::PrereqScanner::NotQuiteLite::App usually ignores ".pm" files
59           under "t/" directory if they are not used in ".t" files,
60           considering they are some kind of sample files. However, this
61           assumption may be wrong sometimes. If this option is set, it scans
62           all the ".pm" files under "t/" directory, considering some of the
63           test modules will use them. If Test::Class (or its equivalent) is
64           used in a test file, this option is implicitly set.
65
66       base_dir
67           Perl::PrereqScanner::NotQuiteLite::App usually starts traversing
68           from the current directory. If this option is set, it starts from
69           there.
70
71       scan_also
72           Perl::PrereqScanner::NotQuiteLite::App usually scans ".pm" files in
73           the base dir, "Makefile.PL"/"Build.PL", files under "lib", "t",
74           "bin", script(s) directories (and "xt", "author" if asked).  If
75           your distribution uses a different file layout, or uses extra
76           directories to keep submodules, you can add (a reference to) a list
77           of paths to scan.
78
79       ignore, ignore_re
80           Your distribution may have OS-specific modules whose prerequisites
81           can not be installed in other platforms. You can specify (a
82           reference to) a list of files that should not be scanned (with
83           "ignore" option), or a regular expression that matches the files
84           (with "ignore_re" option).
85
86       features
87             my $app = Perl::PrereqScanner::NotQuiteLite::App->new(
88               features => {
89                 'windows' => {
90                   description => 'Windows support',
91                   paths => ['lib/Foo/Win32.pm'],
92                 }
93               },
94             );
95
96           Instead of ignoring a set of files, you can use "features" option
97           to let their prerequisites belong to a specific feature that will
98           not be installed unless asked. However, you are advised to create a
99           separate distribution for the specific feature.
100
101       private, private_re
102           Your distribution may use private modules that are not uploaded to
103           the CPAN and thus should not be included in "cpanfile". You can
104           specify (a reference to) a list of those private modules (with
105           "private" option) or a regular expression that matches those
106           modules (with "private_re" option).
107
108       use_index, index
109           Perl::PrereqScanner::NotQuiteLite::App usually lists all the "use"d
110           modules as prerequisites, but some of them may belong to the same
111           distribution. If an instance of CPAN::Common::Index backend is
112           passed, it is used to dedupe those prerequisites (as long as they
113           are not versioned).
114
115             use CPAN::Common::Index::LocalPackage;
116             my $index = CPAN::Common::Index::LocalPackage->new(
117               { source => "$ENV{HOME}/minicpan/modules/02packages.details.txt" }
118             );
119             my $app = Perl::PrereqScanner::NotQuiteLite::App->new(
120               index => $index,
121             );
122
123   run
124       traverses files and directories and returns a CPAN::Meta::Prereqs
125       object that keeps all the requirements/suggestions, without printing
126       anything unless you explicitly pass a "print" option to "new".
127
128   index
129       returns a CPAN::Common::Index backend object (if any).
130

AUTHOR

132       Kenichi Ishigaki, <ishigaki@cpan.org>
133
135       This software is copyright (c) 2015 by Kenichi Ishigaki.
136
137       This is free software; you can redistribute it and/or modify it under
138       the same terms as the Perl 5 programming language system itself.
139
140
141
142perl v5.32.1                      2021P-e0r1l-:2:7PrereqScanner::NotQuiteLite::App(3)
Impressum