1Perl::PrereqScanner::NoUtsQeuritCeoLnittrei:b:uAtpepdP(e3Pr)elr:l:PDroecruemqeSnctaantnieorn::NotQuiteLite::App(3)
2
3
4
6 Perl::PrereqScanner::NotQuiteLite::App
7
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
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
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
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)