1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
|
#
# This file is part of Dist-Zilla-Plugin-Git
#
# This software is copyright (c) 2009 by Jerome Quelin.
#
# This is free software; you can redistribute it and/or modify it under
# the same terms as the Perl 5 programming language system itself.
#
use 5.008;
use strict;
use warnings;
package Dist::Zilla::PluginBundle::Git;
# ABSTRACT: All git plugins in one bundle
our $VERSION = '2.052';
use Moose;
use Module::Runtime 'use_module';
use namespace::autoclean;
with 'Dist::Zilla::Role::PluginBundle';
# bundle all git plugins
my @names = qw{ Check Commit Tag Push };
my %multi;
for my $name (@names) {
my $class = "Dist::Zilla::Plugin::Git::$name";
use_module $class;
@multi{$class->mvp_multivalue_args} = ();
}
sub mvp_multivalue_args { keys %multi; }
sub bundle_config {
my ($self, $section) = @_;
#my $class = ( ref $self ) || $self;
my $arg = $section->{payload};
my @config;
for my $name (@names) {
my $class = "Dist::Zilla::Plugin::Git::$name";
my %payload;
foreach my $k (keys %$arg) {
$payload{$k} = $arg->{$k} if $class->can($k);
}
push @config, [ "$section->{name}/$name" => $class => \%payload ];
}
return @config;
}
__PACKAGE__->meta->make_immutable;
no Moose;
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Dist::Zilla::PluginBundle::Git - All git plugins in one bundle
=head1 VERSION
version 2.052
=head1 SYNOPSIS
In your F<dist.ini>:
[@Git]
changelog = Changes ; this is the default
allow_dirty = dist.ini ; see Git::Check...
allow_dirty = Changes ; ... and Git::Commit
commit_msg = v%V%n%n%c ; see Git::Commit
tag_format = v%V ; see Git::Tag
tag_message = v%V ; see Git::Tag
push_to = origin ; see Git::Push
=head1 DESCRIPTION
This is a plugin bundle to load the most common Git plugins.
It is equivalent to:
[Git::Check]
[Git::Commit]
[Git::Tag]
[Git::Push]
Any options given are passed through to each plugin. See each
plugin's documentation for the options it supports. (Plugins just
ignore options they don't understand.)
=for Pod::Coverage bundle_config
mvp_multivalue_args
=head1 SEE ALSO
=over 4
=item * L<Git::Check|Dist::Zilla::Plugin::Git::Check>
Before a release, check that the repo is in a clean state
(you have committed your changes).
=item * L<Git::Commit|Dist::Zilla::Plugin::Git::Commit>
After a release, commit updated files.
=item * L<Git::Tag|Dist::Zilla::Plugin::Git::Tag>
After a release, tag the just-released version.
=item * L<Git::Push|Dist::Zilla::Plugin::Git::Push>
After a release, push the released code & tag to your public repo.
=back
For a list of Git plugins in this distribution that are not part of
this bundle, see L<Dist::Zilla::Plugin::Git>.
=head1 SUPPORT
Bugs may be submitted through L<the RT bug tracker|https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-Git>
(or L<bug-Dist-Zilla-Plugin-Git@rt.cpan.org|mailto:bug-Dist-Zilla-Plugin-Git@rt.cpan.org>).
There is also a mailing list available for users of this distribution, at
L<http://dzil.org/#mailing-list>.
There is also an irc channel available for users of this distribution, at
L<C<#distzilla> on C<irc.perl.org>|irc://irc.perl.org/#distzilla>.
=head1 AUTHOR
Jerome Quelin
=head1 COPYRIGHT AND LICENCE
This software is copyright (c) 2009 by Jerome Quelin.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
|