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:
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.
- backend_block_keywords
- Tells tentmaker that I understand these config section backend block
keywords:
no_gen
Build_PL
Changes
README
MANIFEST
MANIFEST_SKIP
template
- what_do_you_make
- Tells tentmaker what this module makes. Summary: roughly what h2xs
makes.
- validate_build_dir
- Called by Bigtop::Parser to make sure a non-create build is happening in a
valid build dir.
- gen_Init
- Called by Bigtop::Parser to get me to do my thing.
- output_cgi
- What I call on the various AST packages to do my thing.
- init_simple_file
- What I call to build each regular file (like Changes, Build.PL,
etc.).
- setup_template
- 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.