Dist-Zilla-PluginBundle-DANIELP

 view release on metacpan or  search on metacpan

lib/Dist/Zilla/PluginBundle/DANIELP.pm  view on Meta::CPAN

package Dist::Zilla::PluginBundle::DANIELP;
BEGIN {
  $Dist::Zilla::PluginBundle::DANIELP::VERSION = '1.04';
}
use 5.008001;
use utf8;

use namespace::autoclean;
use Moose;

use Dist::Zilla 2.101040;
with 'Dist::Zilla::Role::PluginBundle::Easy';

use Dist::Zilla::PluginBundle::Git;

sub mvp_multivalue_args { qw{skip skip_version} }

has version_regexp => (
    is => 'ro', lazy => 1,
    default => sub { '^release-(\d+\.\d+)$' }
);

has version_tag => (
    is => 'ro', lazy => 1,
    default => sub { 'release-%v' }
);

has skip => (
    is => 'ro', isa => 'ArrayRef', lazy => 1,
    default => sub { $_[0]->payload->{skip} || [] }
);

has skip_version => (
    is => 'ro', isa => 'ArrayRef', lazy => 1,
    default => sub { $_[0]->payload->{skip_version} || [] }
);


has 'synopsis_test' => (
    is => 'ro', isa => 'Bool', lazy => 1,
    default => sub {
        my $payload = $_[0]->payload->{synopsis_test};
        return $payload if defined $payload;
        return 1;
    }
);

sub configure {
    my ($self) = @_;

    # Install the long list of plugins I use for getting stuff released.
    my @plugins;

    push @plugins, (
        # -- distribution version
        ['Git::NextVersion' => {
            first_version   => '1.00',
            version_regexp  => $self->version_regexp
        }],

        # -- fetch and install files
        'GatherDir',
        'ExecDir',
        'ShareDir',

        # -- remove unwanted files
        'PruneCruft',
        'ManifestSkip',

        # -- prerequisites
        [AutoPrereqs => { skip => $self->skip }],

        # -- rewrite files
        'PkgVersion',
        'PodVersion',

        # -- dynamic metadata

        # -- tests
        ['ReportVersions::Tiny' => { exclude => $self->skip_version }],
        ['CompileTests' => { fake_home => 1 }],

        'HasVersionTests',
        'MetaTests',
        'MinimumVersionTests',
        'PortabilityTests'
    );

    $self->synopsis_test && push @plugins, 'SynopsisTests';

    push @plugins, (
        'PodSyntaxTests',
        'UnusedVarsTests',
        'ExtraTests',



( run in 0.647 second using v1.01-cache-2.11-cpan-39bf76dae61 )