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       optional, optional_re
102           Instead of ignoring a set of files, you can also use "optional"
103           option to mark all the prerequisites found in some of the files in
104           your distribution optional (i.e. suggests). You can specify (a
105           reference to) a list of files (with "optional" option), or a
106           regular expression that matches the files (with "optional_re"
107           option).
108
109       private, private_re
110           Your distribution may use private modules that are not uploaded to
111           the CPAN and thus should not be included in "cpanfile". You can
112           specify (a reference to) a list of those private modules (with
113           "private" option) or a regular expression that matches those
114           modules (with "private_re" option).
115
116       use_index, index
117           Perl::PrereqScanner::NotQuiteLite::App usually lists all the "use"d
118           modules as prerequisites, but some of them may belong to the same
119           distribution. If an instance of CPAN::Common::Index backend is
120           passed, it is used to dedupe those prerequisites (as long as they
121           are not versioned).
122
123             use CPAN::Common::Index::LocalPackage;
124             my $index = CPAN::Common::Index::LocalPackage->new(
125               { source => "$ENV{HOME}/minicpan/modules/02packages.details.txt" }
126             );
127             my $app = Perl::PrereqScanner::NotQuiteLite::App->new(
128               index => $index,
129             );
130
131   run
132       traverses files and directories and returns a CPAN::Meta::Prereqs
133       object that keeps all the requirements/suggestions, without printing
134       anything unless you explicitly pass a "print" option to "new".
135
136   index
137       returns a CPAN::Common::Index backend object (if any).
138

AUTHOR

140       Kenichi Ishigaki, <ishigaki@cpan.org>
141
143       This software is copyright (c) 2015 by Kenichi Ishigaki.
144
145       This is free software; you can redistribute it and/or modify it under
146       the same terms as the Perl 5 programming language system itself.
147
148
149
150perl v5.38.0                      2023P-e0r7l-:2:1PrereqScanner::NotQuiteLite::App(3)
Impressum