Dist-Zilla-Plugin-Subversion
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Dist/Zilla/Plugin/Subversion/Tag.pm view on Meta::CPAN
use 5.010;
use strict;
use warnings;
use utf8;
package Dist::Zilla::Plugin::Subversion::Tag;
BEGIN {
$Dist::Zilla::Plugin::Subversion::Tag::VERSION = '1.101590';
}
# ABSTRACT: tags a distribution in Subversion
use Moose;
with 'Dist::Zilla::Role::Subversion';
with 'Dist::Zilla::Role::AfterRelease' => { -version => 4.101550 };
use Cwd;
use English qw(-no_match_vars);
use Modern::Perl;
use MooseX::Types::URI 'Uri';
use namespace::autoclean;
has 'tag_url' => (
is => 'ro',
isa => Uri,
coerce => 1,
lazy_build => 1,
);
sub _build_tag_url {
my $url = $ARG[0]->_base_url();
$url->path_segments( $url->path_segments(), 'tags' );
return $url;
}
sub after_release {
my $self = shift;
my ( $working_url, $tag_url )
= map { $self->$ARG } qw(working_url tag_url);
my %meta = %{ $self->zilla->distmeta() };
$tag_url->path_segments( $tag_url->path_segments(),
join q{-}, @meta{qw(name version)} );
$self->log("Tagging $working_url as $tag_url");
if ( my $commit_info = $self->_svn->commit( getcwd(), 0 ) ) {
$self->_log_commit_info( $commit_info,
"committed working copy to $working_url" );
if ( $commit_info
= $self->_svn->copy( "$working_url", 'HEAD', "$tag_url" ) )
{
$self->_log_commit_info( $commit_info,
"tagged $working_url as $tag_url" );
return;
}
}
$self->log_fatal("Failed tag of $working_url as $tag_url");
return;
}
__PACKAGE__->meta->make_immutable();
no Moose;
1;
=pod
=head1 NAME
Dist::Zilla::Plugin::Subversion::Tag - tags a distribution in Subversion
=head1 VERSION
version 1.101590
=head1 DESCRIPTION
This L<Dist::Zilla|Dist::Zilla> after-release plugin can be used to tag your
distribution in Subversion.
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.811 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )