From 29e46e95343b5791050b9f840bb2f2020a821733 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 3 Sep 2013 01:22:24 -0400 Subject: updates --- lib/Dist/Zilla/PluginBundle/DOY.pm | 65 ++++++++++++++++++++++++++++++-------- 1 file changed, 51 insertions(+), 14 deletions(-) (limited to 'lib') diff --git a/lib/Dist/Zilla/PluginBundle/DOY.pm b/lib/Dist/Zilla/PluginBundle/DOY.pm index 971dc51..5f4d244 100644 --- a/lib/Dist/Zilla/PluginBundle/DOY.pm +++ b/lib/Dist/Zilla/PluginBundle/DOY.pm @@ -152,21 +152,55 @@ has _repository_host_map => ( }, ); -has bugtracker_web => ( +has bugtracker => ( is => 'ro', isa => 'Str', lazy => 1, - default => sub { - sprintf('http://rt.cpan.org/Public/Dist/Display.html?Name=%s', - shift->dist); - }, + default => sub { shift->repository eq 'github' ? 'github' : 'rt' }, ); -has bugtracker_mailto => ( +for my $attr (qw(bugtracker_web bugtracker_mailto)) { + has $attr => ( + is => 'ro', + isa => 'Maybe[Str]', + lazy => 1, + default => sub { + my $self = shift; + my $data = $self->_bugtracker_data; + return unless $data; + return $data->{$attr}; + }, + ); +} + +sub _bugtracker_data { + my $self = shift; + + my $host = $self->bugtracker; + return unless defined $host; + + die "Unknown bugtracker host $host" + unless exists $self->_bugtracker_host_map->{$host}; + + return $self->_bugtracker_host_map->{$host}; +} + +has _bugtracker_host_map => ( is => 'ro', - isa => 'Str', + isa => 'HashRef[HashRef[Str]]', lazy => 1, - default => sub { sprintf('bug-%s@rt.cpan.org', lc shift->dist); }, + default => sub { + my $self = shift; + return { + 'github' => { + bugtracker_web => sprintf('https://github.com/%s/%s/issues', $self->github_user, $self->github_name), + }, + 'rt' => { + bugtracker_web => sprintf('http://rt.cpan.org/Public/Dist/Display.html?Name=%s', $self->dist), + bugtracker_mailto => sprintf('bug-%s@rt.cpan.org', lc $self->dist), + }, + } + }, ); has homepage => ( @@ -250,6 +284,9 @@ has _plugins => ( Git::Commit Git::Tag Git::NextVersion + AutoPrereqs + ContributorsFromGit + MetaProvides::Package ), ($self->is_task ? 'TaskWeaver' : 'PodWeaver'), ($self->is_test_dist ? 'FakeRelease' : 'UploadToCPAN'), @@ -353,21 +390,21 @@ You can also look for information at: =over 4 -=item * AnnoCPAN: Annotated CPAN documentation +=item * MetaCPAN -L +L -=item * CPAN Ratings +=item * Github -L +L =item * RT: CPAN's request tracker L -=item * Search CPAN +=item * CPAN Ratings -L +L =back -- cgit v1.2.3-54-g00ecf