diff options
Diffstat (limited to 'lib/Dist/Zilla/PluginBundle/DOY.pm')
-rw-r--r-- | lib/Dist/Zilla/PluginBundle/DOY.pm | 65 |
1 files changed, 51 insertions, 14 deletions
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<http://annocpan.org/dist/Dist-Zilla-PluginBundle-DOY> +L<https://metacpan.org/release/Dist-Zilla-PluginBundle-DOY> -=item * CPAN Ratings +=item * Github -L<http://cpanratings.perl.org/d/Dist-Zilla-PluginBundle-DOY> +L<https://github.com/doy/dist-zilla-pluginbundle-doy> =item * RT: CPAN's request tracker L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Dist-Zilla-PluginBundle-DOY> -=item * Search CPAN +=item * CPAN Ratings -L<http://search.cpan.org/dist/Dist-Zilla-PluginBundle-DOY> +L<http://cpanratings.perl.org/d/Dist-Zilla-PluginBundle-DOY> =back |