App-ModuleBuildTiny
view release on metacpan or search on metacpan
script/mbtiny view on Meta::CPAN
package App::ModuleBuildTiny::Help;
use parent qw(Pod::Simple::Methody);
sub start_head1 {
my ($self, $attrs) = @_;
$self->{_mbth_head1_content} = '';
}
sub end_head1 {
my ($self) = @_;
$self->{_mbth_in_subcommands} = delete($self->{_mbth_head1_content}) eq 'SUBCOMMANDS';
}
sub start_head2 {
my ($self, $attrs) = @_;
return unless $self->{_mbth_in_subcommands};
$self->{_mbth_subcommand_name} = '';
}
sub end_head2 {
my ($self) = @_;
if (my $cmd = delete $self->{_mbth_subcommand_name}) {
$self->output_fh->printf(" %-10s - ", $1) if $cmd =~ /(^\w+)/;
$self->{_mbth_print_desc} = 1;
}
}
sub handle_text {
my ($self, $text) = @_;
if (defined $self->{_mbth_head1_content}) {
$self->{_mbth_head1_content} .= $text;
return;
}
if (defined $self->{_mbth_subcommand_name}) {
$self->{_mbth_subcommand_name} .= $text;
return;
}
if (delete $self->{_mbth_print_desc}) {
$self->output_fh->say($1) if $text =~ /^([^.(]+)/;
}
}
__END__
=head1 NAME
mbtiny - A standalone authoring script for Module::Build::Tiny
=head1 SYNOPSIS
mbtiny listdeps | cpanm
mbtiny test --release
mytiny regenerate
mbtiny upload
=head1 DESCRIPTION
C<mbtiny> is a tool to help assemble your CPAN distributions. It's a minimalist tool that tries to come with as few surprises as possible, and thus provide a gentle learning curve for its users.
=head1 SUBCOMMANDS
=head2 regenerate [--bump] [--version=<version] [--verbose] [--dry-run] [--scan] <files>...
Regenerate the specified files. If no files are given, defaults to all six files it can regenerate. You usually want to do this when bumping the version of a module. Takes the following options:
=over 4
=item * bump
Bump the version of the distribution before regenerating. The default for this when regenerating all files can be set in the configuration.
=item * version = <new-version>
Set the version of the distribution before regenerating.
=item * scan
Scan for dependencies to include in the metafiles. The default for this can be set in the configuration.
=item * trial
Make the new version a trial version.
=item * commit
Create a git commit for the version bump. The default for this when regenerating all files can be set in the configuration.
=item * verbose
This will make regeneration more verbose.
=item * dry-run
This will cause it to not write anything to disk, this is only ever useful when combined with the verbose option.
=back
The following files can be generated:
=over 4
=item * Build.PL
The code needed to build the dist using L<Module::Build::Tiny|Module::Build::Tiny> or L<Dist::Build|Dist::Build>.
It will use the former unless a C<planner/> directory is present.
=item * MANIFEST
The list of files in this distribution, and optionally descriptions.
=item * META.json
Most meta information about this distributions. Useful for both presenting information to the user as for installing the distribution.
=item * META.yml
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.
=item * README
A description of the project, based on the documentation of the main module.
=item * LICENSE
The license of the distribution.
=back
=head2 upload [--silent] [--config=<config_file>] [--tag] [--push]
Assemble a tarball and upload it to CPAN.
Using a L<Config::Identity|Config::Identity> compatible F<.pause> file in your home directory is recommended, but if it's absent or incomplete your credentials will be asked on the console. Takes the following options:
=over 4
=item * tag
Tag the current release with the current version. The default for this can be set in the configuration.
=item * push
Push the current commit, and tag it C<--tag> is also specified. The default for this can be set in the configuration.
=item * silent
This will enable silent mode
=item * config=<config-file>
The location of your pause credentials
=back
=head2 test [--no-author] [--release]
Run all of the tests of a distribution. Takes two negatable options:
=over 4
=item * release
Run release tests. Defaults to false.
=item * author
Run author tests. Defaults to true.
=back
=head2 scan [--omit-core=<version>] [--omit=<module>]
Scan the C<lib/>, C<script/> and C<t/> directories for dependencies and write them to C<prereqs.json>. Accepts the following option:
=over 4
=item * omit_core = version
Set a minimum perl version (e.g. C<5.008001> or C<v5.8.1>) whose core-provided dependencies will not be explicitly included.
=item * omit = module
Omit a specific module from the dependencies. Can be specified multiple times.
=back
=head2 mint [--<option>=<value>]... <distribution>
Create a new distribution. Takes one mandatory positional argument, the name of the new distribution, and the following optional named arguments:
=over 4
( run in 1.852 second using v1.01-cache-2.11-cpan-b16cb0d3907 )