App-ModuleBuildTiny
view release on metacpan or search on metacpan
0.048 2025-03-20 13:47:15+0100
- Add support for dynamic prerequisites
- Add setup minimal mode
- Add get and set mode to setup and config
0.047 2024-07-12 14:27:00+0200
- Fix extractability issues with tarball
0.046 2024-07-12 14:20:59+0200
- Fix archive name when uploading
0.045 2024-07-12 14:06:17+0200
- Add a Dist::Build mode
0.044 2024-05-19 15:58:03+0200
- Add support for automatic resources
0.043 2023-10-19 20:38:08+0200
- Add options to not write build files
- Add version subcommand
- Allow -j as synonym for --jobs
0.041 2023-04-29 16:31:04+0200
- Depend on new ExtUtils::Manifest #include behavior
- Add help subcommand
0.040 2023-04-13 23:40:33+0200
- Create .gitignore when minting
- Add -I option to test subcommand
- Run more release tests on upload
- Make upload prompt default to false
0.039 2023-04-06 16:08:17+0200
- Don't autocommit/autobump on partial regenerate
0.038 2023-03-30 17:07:59+0200
- Add --jobs argument to mbtiny test
- Also allow module name as mint argument
- mkdir 't' during mint
0.037 2023-03-24 12:45:52+0100
- Add an auto_git configuration option
0.034 2023-02-11 13:13:03+0100
- Allow putting metadata in .pod instead of .pm
0.033 2023-02-05 17:05:51+0100
- Add xt test running to test command
- Add documentation for --commit, --tag and --push
0.032 2023-02-03 20:16:39+0100
- Correctly run author and release tests on upload.
- Update Changes file on regenerate --bump
- Add a --commit option to regenerate
- Add --tag and --push to upload
0.031 Thu Feb 2 02:35:19 PM CET 2023
- Make configuration optional for minting
- Add prompt before release
- Remove VERSION section from template
- Make "configure all" default to current values
- Allow for removing configure values
0.030 Mon Jan 16 12:16:05 AM CET 2023
- Allow for multiple prereq files
- Load prereqs.json/yml on meta regeneration
- Let Module::Metadata do POD decoding
- Add escape code mangling to author extraction
0.027
- Be more tolerant in parsing =encoding utf-8
- Fix encoding of generated README
- Add non-interactive and extended options to test
0.026
- Add --trial option to regenerate/upload/dist/distdir
0.025 Sun Dec 16 22:09:12 CET 2018
- Allow fetching credentials from console
- Add SPDX support to meta files
0.024
- Write generated files as binary
- Decode author names when POD is encoded
0.023
- Try taking author list from "AUTHORS" section too.
0.022
- Add check for metadata
- Fix missed functions in move to Dist.pm
0.021
- Fix tarball directory name
0.020
- Added an upload command
0.019
- Added mint command
0.018 2016-10-17
- Always follow symlinks when creating a tarball
- Include terminating newline in MANIFEST
0.017 2016-10-11
- Always create a proper license object
lib/App/ModuleBuildTiny.pm view on Meta::CPAN
or return 2;
insert_options(\my %opts, get_config);
my $dist = App::ModuleBuildTiny::Dist->new(%opts);
my @args;
push @args, '-j', $jobs if defined $jobs;
push @args, map {; '-I', rel2abs($_) } @inc;
push @args, 't' if -e 't';
push @args, extra_tests();
return $dist->run(commands => [ [ 'prove', '-br', @args ] ], build => 1, verbose => 1);
},
upload => sub {
my @arguments = @_;
my $config = get_config;
my %opts = $config->{auto_git} ? (tag => 1, push => '') : ();
GetOptionsFromArray(\@arguments, \%opts, qw/trial config=s silent tag! push:s nopush|no-push/) or return 2;
insert_options(\%opts, get_config);
my $dist = App::ModuleBuildTiny::Dist->new;
$dist->preflight_check(%opts);
local ($AUTHOR_TESTING, $RELEASE_TESTING) = (1, 1);
my @commands = ([ './Build', 'test' ]);
my @extra_tests = extra_tests;
push @commands, [ 'prove', '-br', @extra_tests ] if @extra_tests;
$dist->run(commands => \@commands, build => 1, verbose => !$opts{silent}) or return 1;
my $sure = prompt_yn('Do you want to continue the release process?', !!0);
if ($sure) {
my $file = $dist->write_tarball($dist->archivename);
require CPAN::Upload::Tiny;
CPAN::Upload::Tiny->VERSION('0.009');
my $uploader = CPAN::Upload::Tiny->new_from_config_or_stdin($opts{config});
$uploader->upload_file($file);
print "Successfully uploaded $file\n" if not $opts{silent};
if ($opts{tag}) {
require Git::Wrapper;
my $git = Git::Wrapper->new('.');
my $version = 'v' . $dist->version;
$git->tag('-m' => $version, $version);
}
if (defined $opts{push} and not $opts{nopush}) {
require Git::Wrapper;
script/mbtiny view on Meta::CPAN
=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:
script/mbtiny view on Meta::CPAN
=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
( run in 1.866 second using v1.01-cache-2.11-cpan-b16cb0d3907 )