Bigtop::Backend::Init::Std - Bigtop backend which works sort of like h2xs
If your bigtop file looks like this:
config { build_dir `/home/yourname`; app_dir `appsubdir`; Init Std {} } app App::Name { }
when you type
bigtop --create your.bigtop Init
or
bigtop --create your.bigtop all
this module will generate the build directory as
/home/yourname/appsubdir
Then it will make subdirectories: t, lib, and docs. Then it will make files: Changes, MANIFEST, MANIFEST.SKIP, README, and Build.PL. Finally, it will copy your.bigtop into the docs dir of under appsubdir.
As with any backend, you can include no_gen 1; in its config block:
no_gen 1;
config { Init Std { no_gen 1; } }
Then, no files will be generated. But, you can also exclude indiviual files it would build. Simply list the file name as a keyword and give the value no_gen:
config { Init Std { MANIFEST no_gen; Changes no_gen; } }
If you are in create mode and your config does not include app_dir, one will be formed from the app name, in the manner of h2xs. So, in the above example it would be
/home/yourname/App-Name
Outside of create mode, the current directory is used for building, if it looks like a plausible build directory (it has a Build.PL, etc). In that case, having a base_dir and/or app_dir in your config will result in warning(s) that they are being ignored.
This module registers app level keywords: authors, contact_us, copyright_holder, license_text, and the now deprecated email (which is a synonymn for contact_us). These are also regiersted by Bigtop::Control and they have the same meaning there.
It actually pays no attention to the rest of the app section of the bigtop input, except to build the default app_dir from the app_name.
Tells tentmaker that I understand these config section backend block keywords:
no_gen Build_PL Changes README MANIFEST MANIFEST_SKIP template
Tells tentmaker what this module makes. Summary: roughly what h2xs makes.
Called by Bigtop::Parser to make sure a non-create build is happening in a valid build dir.
Called by Bigtop::Parser to get me to do my thing.
What I call on the various AST packages to do my thing.
What I call to build each regular file (like Changes, Build.PL, etc.).
Called by Bigtop::Parser so the user can substitute an alternate template for the hard coded one here.
Phil Crow <crow.phil@gmail.com>
Copyright (C) 2005 by Phil Crow
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.
To install Bigtop, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Bigtop
CPAN shell
perl -MCPAN -e shell install Bigtop
For more information on module installation, please visit the detailed CPAN module installation guide.