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 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
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)