Dist-Zilla-PluginBundle-Author-AMON

 view release on metacpan or  search on metacpan

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


=item *

(configure_release)

A minimum release workflow is hardcoded:

    [TestRelease]
    [ConfirmRelease]
    [UploadToCPAN]

=item *

L<configure_post_release|/configure_post_release>

=back

=cut

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

    $self->configure_meta();
    $self->configure_prereqs();
    $self->configure_gather();
    $self->configure_extra_files();
    $self->configure_extra_tests();
    $self->configure_post_build();
    $self->configure_pre_release();
    $self->add_plugins(qw(
        TestRelease
        ConfirmRelease
        UploadToCPAN
    ));
    $self->configure_post_release();

    return;
}

=head2 configure_meta

Add metadata.

    [GithubMeta]
    user = {{github.user}}
    repo = {{github.repo}}
    issues = {{github_issues}}

Plugins:
L<GithubMeta|Dist::Zilla::Plugin::GithubMeta>.

Configuration options:
L<github|/github>,
L<github_issues|/github_issues>.

=cut

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

    my ($gh_user, $gh_repo) = split m(/), scalar $self->github, 2;
    unless (length $gh_user and length $gh_repo) {
        die "Github repo of the form <user>/<repo> required!";
    }

    $self->add_plugins(
        [GithubMeta => {
            repo => $gh_repo,
            user => $gh_user,
            issues => $self->github_issues }],
    );

    return;
}

=head2 configure_prereqs

Specify prerequisites.

    [Prereqs::AuthorDeps]
    ; exclude = {{exclude_author_deps}}

Plugins:
L<Prereqs::AuthorDeps|Dist::Zilla::Plugin::Prereqs::AuthorDeps>.

Configuration options:
L<exclude_author_deps|/exclude_author_deps>.

=cut

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

    my @exclude_author_deps;
    push @exclude_author_deps, @{ $self->exclude_author_deps };

    $self->add_plugins(
        ['Prereqs::AuthorDeps' => {
            (exclude => [ @exclude_author_deps ]) x!! @exclude_author_deps }],
    );

    return;
}

=head2 configure_gather

Gather files to be included in the dist.

    [Git::GatherDir]
    ; exclude_match = {{gather_exclude_match}}
    ; exclude_filename = {{gather_exclude_file}}
    ; exclude_filename = {{autogenerate_file}}
    ; exclude_filename = {{ppport}}
    [PruneCruft]

Plugins:
L<Git::GatherDir|Dist::Zilla::Plugin::Git::GatherDir>,
L<PruneCruft|Dist::Zilla::Plugin::PruneCruft>.

Configuration options:
L<gather_exclude_file|/gather_exclude_file>,



( run in 0.643 second using v1.01-cache-2.11-cpan-71847e10f99 )