mbtiny - A standalone authoring script for Module::Build::Tiny
version 0.008
mbtiny listdeps | cpanm mbtiny test --release mbtiny dist
Essentially mbtiny does only one thing: generate the ancillary files of a distribution. To be more exact, it can generate:
mbtiny
Build.PL
This contain the code needed to build the dist using Module::Build::Tiny.
MANIFEST
This contains the list of files in this distribution, and optionally descriptions.
META.json
The file containing most meta information about this distributions. Useful for both presenting information to the user as for installing the distribution.
META.yml
This is the legacy meta file. This is mainly useful for bootstrapping on CPAN clients too old to support META.json but recent enough to support configure_requires.
The information for these files is gathered from various sources. The distribution name is taken from the local directory name. The version, abstract and author are taken from the main module of the distribution. Prerequisites are mostly taken from cpanfile, except when injected explicitly (e.g. a configure dependency on Module::Build::Tiny). A metamerge.json or metamerge.yml file can be used to merge any additional meta information you want (including dependencies).
metamerge.json
metamerge.yml
It supports two different workflows, which I call Feedback and Generator. In both cases, additional tools are used for various other authoring tasks such as perl-reversion, scan-prereqs-cpanfile and cpan-upload.
In this workflow you're commiting the generated files to the filesystem/repository, in particular using the regenerate command.
regenerate
In this workflow the generated files aren't written back to the file system, instead they are generated on every mbtiny command.
dist
This creates a distribution tarball.
distdir
This creates a directory containing all of the files of the distribution.
test
This runs all of the tests of a distribution. It takes two options that can both be negated:
release
Run release tests. Defaults to false.
author
Run author tests. Defaults to true.
run
Run the specified command in a build distribution. It takes one boolean argument:
no-build
This will cause mbtiny not to build the distribution before running the command.
shell
Runs the $SHELL, this is short for mbtiny run $SHELL.
$SHELL
mbtiny run $SHELL
listdeps
List all dependencies of this distribution. By default it prints a list of modules. If the json option option is given, it's printed as JSON instead.
json
regenerate <files>
This regenerates the given files. If no files are given, it defaults to the four files it can generate: Build.PL, MANIFEST, META.json, and META.yml. You usually want to do this after bumping the version of a module, adding a dependency or adding a file.
To install App::ModuleBuildTiny, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::ModuleBuildTiny
CPAN shell
perl -MCPAN -e shell install App::ModuleBuildTiny
For more information on module installation, please visit the detailed CPAN module installation guide.