App-ModuleBuildTiny

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


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

Changes  view on Meta::CPAN

          - 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

Changes  view on Meta::CPAN

          - 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

Changes  view on Meta::CPAN

          - 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

Changes  view on Meta::CPAN

          - 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 2.469 seconds using v1.01-cache-2.11-cpan-b16cb0d3907 )