1Module::Starter::SimpleU(s3e)r Contributed Perl DocumentaMtoidounle::Starter::Simple(3)
2
3
4
6 Module::Starter::Simple - a simple, comprehensive Module::Starter
7 plugin
8
10 Version 1.75
11
13 use Module::Starter qw(Module::Starter::Simple);
14
15 Module::Starter->create_distro(%args);
16
18 Module::Starter::Simple is a plugin for Module::Starter that will
19 perform all the work needed to create a distribution. Given the
20 parameters detailed in Module::Starter, it will create content, create
21 directories, and populate the directories with the required files.
22
24 "new(%args)"
25 This method is called to construct and initialize a new Module::Starter
26 object. It is never called by the end user, only internally by
27 "create_distro", which creates ephemeral Module::Starter objects. It's
28 documented only to call it to the attention of subclass authors.
29
31 All the methods documented below are object methods, meant to be called
32 internally by the ephemeral objects created during the execution of the
33 class method "create_distro" above.
34
35 postprocess_config
36 A hook to do any work after the configuration is initially processed.
37
38 pre_create_distro
39 A hook to do any work right before the distro is created.
40
41 "create_distro(%args)"
42 This method works as advertised in Module::Starter.
43
44 post_create_distro
45 A hook to do any work after creating the distribution.
46
47 pre_exit
48 A hook to do any work right before exit time.
49
50 create_basedir
51 Creates the base directory for the distribution. If the directory
52 already exists, and $force is true, then the existing directory will
53 get erased.
54
55 If the directory can't be created, or re-created, it dies.
56
57 create_modules( @modules )
58 This method will create a starter module file for each module named in
59 @modules.
60
61 module_guts( $module, $rtname )
62 This method returns the text which should serve as the contents for the
63 named module. $rtname is the email suffix which rt.cpan.org will use
64 for bug reports. (This should, and will, be moved out of the
65 parameters for this method eventually.)
66
67 create_Makefile_PL( $main_module )
68 This will create the Makefile.PL for the distribution, and will use the
69 module named in $main_module as the main module of the distribution.
70
71 create_MI_Makefile_PL( $main_module )
72 This will create a Module::Install Makefile.PL for the distribution,
73 and will use the module named in $main_module as the main module of the
74 distribution.
75
76 Makefile_PL_guts( $main_module, $main_pm_file )
77 This method is called by create_Makefile_PL and returns text used to
78 populate Makefile.PL; $main_pm_file is the filename of the
79 distribution's main module, $main_module.
80
81 MI_Makefile_PL_guts( $main_module, $main_pm_file )
82 This method is called by create_MI_Makefile_PL and returns text used to
83 populate Makefile.PL; $main_pm_file is the filename of the
84 distribution's main module, $main_module.
85
86 create_Build_PL( $main_module )
87 This will create the Build.PL for the distribution, and will use the
88 module named in $main_module as the main module of the distribution.
89
90 Build_PL_guts( $main_module, $main_pm_file )
91 This method is called by create_Build_PL and returns text used to
92 populate Build.PL; $main_pm_file is the filename of the distribution's
93 main module, $main_module.
94
95 create_Changes( )
96 This method creates a skeletal Changes file.
97
98 Changes_guts
99 Called by create_Changes, this method returns content for the Changes
100 file.
101
102 create_README( $build_instructions )
103 This method creates the distribution's README file.
104
105 README_guts
106 Called by create_README, this method returns content for the README
107 file.
108
109 create_t( @modules )
110 This method creates a bunch of *.t files. @modules is a list of all
111 modules in the distribution.
112
113 t_guts( @modules )
114 This method is called by create_t, and returns a description of the *.t
115 files to be created.
116
117 The return value is a hash of test files to create. Each key is a
118 filename and each value is the contents of that file.
119
120 xt_guts( @modules )
121 This method is called by create_t, and returns a description of the
122 author only *.t files to be created in the xt directory.
123
124 The return value is a hash of test files to create. Each key is a
125 filename and each value is the contents of that file.
126
127 create_MB_MANIFEST
128 This methods creates a MANIFEST file using Module::Build's methods.
129
130 create_MI_MANIFEST
131 This method creates a MANIFEST file using Module::Install's methods.
132
133 Currently runs ExtUtils::MakeMaker's methods.
134
135 create_EUMM_MANIFEST
136 This method creates a MANIFEST file using ExtUtils::MakeMaker's
137 methods.
138
139 create_MANIFEST( $method )
140 This method creates the distribution's MANIFEST file. It must be run
141 last, because all the other create_* functions have been returning the
142 functions they create.
143
144 It receives a method to run in order to create the MANIFEST file. That
145 way it can create a MANIFEST file according to the builder used.
146
147 get_builders( )
148 This methods gets the correct builder(s).
149
150 It is called by "create_build", and returns an arrayref with the
151 builders.
152
153 create_build( )
154 This method creates the build file(s) and puts together some build
155 instructions. The builders currently supported are:
156
157 ExtUtils::MakeMaker Module::Build Module::Install
158
159 create_ignores()
160 This creates a text file for use as MANIFEST.SKIP, .cvsignore,
161 .gitignore, or whatever you use.
162
163 ignores_guts()
164 Called by "create_ignores", this method returns the contents of the
165 ignore file.
166
168 verbose
169 "verbose" tells us whether we're in verbose mode.
170
171 create_file( $fname, @content_lines )
172 Creates $fname, dumps @content_lines in it, and closes it. Dies on any
173 error.
174
175 progress( @list )
176 "progress" prints the given progress message if we're in verbose mode.
177
178 filter_lines_in_file( $filename, @compiled_regexes )
179 "filter_lines_in_file" goes over a file and removes lines with the
180 received regexes.
181
182 For example, removing t/boilerplate.t in the MANIFEST.
183
185 Please report any bugs or feature requests to the bugtracker for this
186 project on GitHub at:
187 <https://github.com/xsawyerx/module-starter/issues>. I will be
188 notified, and then you'll automatically be notified of progress on your
189 bug as I make changes.
190
192 Sawyer X, "<xsawyerx@cpan.org>"
193
194 Andy Lester, "<andy@petdance.com>"
195
196 C.J. Adams-Collier, "<cjac@colliertech.org>"
197
199 Copyright 2005-2009 Andy Lester and C.J. Adams-Collier, All Rights
200 Reserved.
201
202 Copyright 2010 Sawyer X, All Rights Reserved.
203
204 This program is free software; you can redistribute it and/or modify it
205 under the same terms as Perl itself.
206
207 Please note that these modules are not products of or supported by the
208 employers of the various contributors to the code.
209
210
211
212perl v5.28.0 2018-06-14 Module::Starter::Simple(3)