1Module::Starter::SimpleU(s3e)r Contributed Perl DocumentaMtoidounle::Starter::Simple(3)
2
3
4

NAME

6       Module::Starter::Simple - a simple, comprehensive Module::Starter
7       plugin
8

VERSION

10       version 1.77
11

SYNOPSIS

13           use Module::Starter qw(Module::Starter::Simple);
14
15           Module::Starter->create_distro(%args);
16

DESCRIPTION

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

CLASS METHODS

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

OBJECT METHODS

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_LICENSE
103       This method creates the distribution's LICENSE file.
104
105   create_README( $build_instructions )
106       This method creates the distribution's README file.
107
108   README_guts
109       Called by create_README, this method returns content for the README
110       file.
111
112   create_t( @modules )
113       This method creates a bunch of *.t files.  @modules is a list of all
114       modules in the distribution.
115
116   t_guts( @modules )
117       This method is called by create_t, and returns a description of the *.t
118       files to be created.
119
120       The return value is a hash of test files to create.  Each key is a
121       filename and each value is the contents of that file.
122
123   xt_guts( @modules )
124       This method is called by create_t, and returns a description of the
125       author only *.t files to be created in the xt directory.
126
127       The return value is a hash of test files to create.  Each key is a
128       filename and each value is the contents of that file.
129
130   create_MB_MANIFEST
131       This methods creates a MANIFEST file using Module::Build's methods.
132
133   create_MI_MANIFEST
134       This method creates a MANIFEST file using Module::Install's methods.
135
136       Currently runs ExtUtils::MakeMaker's methods.
137
138   create_EUMM_MANIFEST
139       This method creates a MANIFEST file using ExtUtils::MakeMaker's
140       methods.
141
142   create_MANIFEST( $method )
143       This method creates the distribution's MANIFEST file.  It must be run
144       last, because all the other create_* functions have been returning the
145       functions they create.
146
147       It receives a method to run in order to create the MANIFEST file. That
148       way it can create a MANIFEST file according to the builder used.
149
150   get_builders( )
151       This methods gets the correct builder(s).
152
153       It is called by "create_build", and returns an arrayref with the
154       builders.
155
156   create_build( )
157       This method creates the build file(s) and puts together some build
158       instructions.  The builders currently supported are:
159
160       ExtUtils::MakeMaker Module::Build Module::Install
161
162   create_ignores()
163       This creates a text file for use as MANIFEST.SKIP, .cvsignore,
164       .gitignore, or whatever you use.
165
166   ignores_guts()
167       Called by "create_ignores", this method returns the contents of the
168       ignore file.
169

HELPER METHODS

171   verbose
172       "verbose" tells us whether we're in verbose mode.
173
174   create_file( $fname, @content_lines )
175       Creates $fname, dumps @content_lines in it, and closes it.  Dies on any
176       error.
177
178   progress( @list )
179       "progress" prints the given progress message if we're in verbose mode.
180
181   filter_lines_in_file( $filename, @compiled_regexes )
182       "filter_lines_in_file" goes over a file and removes lines with the
183       received regexes.
184
185       For example, removing t/boilerplate.t in the MANIFEST.
186

BUGS

188       Please report any bugs or feature requests to the bugtracker for this
189       project on GitHub at:
190       <https://github.com/xsawyerx/module-starter/issues>. I will be
191       notified, and then you'll automatically be notified of progress on your
192       bug as I make changes.
193

AUTHOR

195       Dan Book, <dbook@cpan.org>
196
197       Sawyer X, "<xsawyerx@cpan.org>"
198
199       Andy Lester, "<andy@petdance.com>"
200
201       C.J. Adams-Collier, "<cjac@colliertech.org>"
202
204       Copyright 2005-2009 Andy Lester and C.J. Adams-Collier, All Rights
205       Reserved.
206
207       Copyright 2010 Sawyer X, All Rights Reserved.
208
209       This program is free software; you can redistribute it and/or modify it
210       under the same terms as Perl itself.
211
212       Please note that these modules are not products of or supported by the
213       employers of the various contributors to the code.
214
215
216
217perl v5.34.0                      2022-01-21        Module::Starter::Simple(3)
Impressum