# KEYWORDS: dzil author bundle distribution tool
+use 5.014;
use warnings;
use strict;
-our $VERSION = '0.002'; # VERSION
+our $VERSION = '0.005'; # VERSION
use Dist::Zilla::Util;
use Moose;
use namespace::autoclean;
+has authority => (
+ is => 'ro',
+ isa => 'Str',
+ lazy => 1,
+ default => sub {
+ my $self = shift;
+ $self->payload->{'Authority.authority'} // $self->payload->{authority} // 'cpan:CCM';
+ },
+);
+
+
has installer => (
is => 'ro',
isa => 'Str',
sub configure {
my $self = shift;
+ my @copy_from_build = qw(LICENSE);
+ my @network_plugins = qw(Git::Push Test::Pod::No404s UploadToCPAN);
+ my @gather_exclude = (@copy_from_build, qw(README.md));
+ my @gather_prune = qw(dist.ini);
+ my @no_index = qw(eg share shares t xt);
+ my @allow_dirty = (@copy_from_build, qw(.travis.yml Changes LICENSE README.md));
+ my @git_remotes = qw(github origin);
+ my @check_files = qw(:InstallModules :ExecFiles :TestFiles :ExtraTestFiles);
+ my $perl_version_target = '5.10.1';
+ my $perl_version = '5.24 5.22 5.20 5.18 5.16 5.14';
+ my $perl_version_build = $perl_version . ' 5.12 5.10 -5.8';
+
if ($self->no_upload) {
- print '[@Author::CCM] WARNING! WARNING! WARNING! *** You are in no_upload mode!! ***', "\n";
+ say '[@Author::CCM] WARNING! WARNING! WARNING! *** You are in no_upload mode!! ***';
}
- my @copy_from_build = qw(LICENSE);
- my @network_plugins = qw(Git::Push Test::Pod::No404s UploadToCPAN);
- my @gather_exclude = (@copy_from_build, qw(README.md));
- my @gather_prune = qw(dist.ini);
- my @no_index = qw(eg share shares t xt);
- my @allow_dirty = (@copy_from_build, qw(.travis.yml Changes LICENSE README.md));
- my @git_remotes = qw(github origin);
- my @check_files = qw(:InstallModules :ExecFiles :TestFiles :ExtraTestFiles);
-
my @plugins = (
# VERSION
['PodSyntaxTests'],
['Test::Pod::No404s'],
['Test::Compile'],
+ ['Test::MinimumVersion' => {max_target_perl => $perl_version_target}],
['Test::EOL' => {finder => [@check_files]}],
['Test::NoTabs' => {finder => [@check_files]}],
['Test::Perl::Critic'],
['Test::ReportPrereqs'],
# METADATA
- ['Authority' => {do_munging => 0}],
+ ['Authority' => {authority => $self->authority, do_munging => 0}],
['MetaJSON'],
['MetaYAML'],
['MetaNoIndex' => {directory => [@no_index]}],
# GENERATE FILES
['License'],
- ['ReadmeAnyFromPod' => 'repo readme' => {filename => 'README.md', location => 'root', type => 'markdown', phase => 'release'}],
- ['ReadmeAnyFromPod' => 'dist readme' => {filename => 'README', location => 'build', type => 'text'}],
- ['TravisYML'],
+ ['ReadmeAnyFromPod' => 'RepoReadme' => {filename => 'README.md', location => 'root', type => 'markdown', phase => 'release'}],
+ ['ReadmeAnyFromPod' => 'DistReadme' => {filename => 'README', location => 'build', type => 'text'}],
+ ['TravisYML' => {build_branch => '/^(dist|build\/.*)$/', perl_version => $perl_version, perl_version_build => $perl_version_build}],
['Manifest'],
['ManifestSkip'],
=head1 VERSION
-version 0.002
+version 0.005
=head1 SYNOPSIS
[PodSyntaxTests]
[Test::Pod::No404s]
[Test::Compile]
+ [Test::MinimumVersion]
+ max_target_perl = 5.10.1
[Test::EOL]
[Test::NoTabs]
[Test::Perl::Critic]
location = build
type = text
[TravisYML]
+ build_branch = /^(dist|build\/.*)$/
[Manifest]
[ManifestSkip]
=head1 ATTRIBUTES
+=head2 authority
+
+Specify the release authority. Defaults to C<cpan:CCM>.
+
=head2 installer
Specify which installer to use, such as: