File Coverage

blib/lib/Dist/Zilla/PluginBundle/DAGOLDEN.pm
Criterion Covered Total %
statement 119 119 100.0
branch 24 56 42.8
condition 3 9 33.3
subroutine 39 39 100.0
pod 0 1 0.0
total 185 224 82.5


line stmt bran cond sub pod time code
1 1     1   1805594 use strict;
  1         3  
  1         31  
2 1     1   3 use warnings;
  1         2  
  1         75  
3              
4             package Dist::Zilla::PluginBundle::DAGOLDEN;
5             # ABSTRACT: Dist::Zilla configuration the way DAGOLDEN does it
6              
7             our $VERSION = '0.078';
8              
9             # Dependencies
10 1     1   3 use Moose 0.99;
  1         31  
  1         9  
11 1     1   4613 use namespace::autoclean 0.09;
  1         25  
  1         8  
12              
13 1     1   69 use Dist::Zilla 5.014; # default_jobs
  1         18  
  1         21  
14              
15 1     1   619 use Dist::Zilla::PluginBundle::Filter ();
  1         13949  
  1         34  
16 1     1   617 use Dist::Zilla::PluginBundle::Git 1.121010 ();
  1         488184  
  1         43  
17              
18 1     1   692 use Dist::Zilla::Plugin::Authority 1.006 ();
  1         178906  
  1         42  
19 1     1   658 use Dist::Zilla::Plugin::Bugtracker 1.110 ();
  1         24642  
  1         42  
20 1     1   679 use Dist::Zilla::Plugin::BumpVersionAfterRelease 0.003 (); # tweak Makefile.PL
  1         53490  
  1         37  
21 1     1   667 use Dist::Zilla::Plugin::CheckChangesHasContent ();
  1         31580  
  1         34  
22 1     1   671 use Dist::Zilla::Plugin::RunExtraTests ();
  1         28337  
  1         40  
23 1     1   662 use Dist::Zilla::Plugin::CheckMetaResources 0.001 ();
  1         32962  
  1         41  
24 1     1   686 use Dist::Zilla::Plugin::CheckPrereqsIndexed 0.002 ();
  1         15053  
  1         39  
25 1     1   640 use Dist::Zilla::Plugin::Git::Contributors 0.007 ();
  1         99603  
  1         40  
26 1     1   715 use Dist::Zilla::Plugin::CopyFilesFromBuild::Filtered ();
  1         27383  
  1         36  
27 1     1   729 use Dist::Zilla::Plugin::CPANFile ();
  1         86342  
  1         35  
28 1     1   857 use Dist::Zilla::Plugin::Git::NextVersion ();
  1         98367  
  1         37  
29 1     1   785 use Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch ();
  1         285323  
  1         42  
30 1     1   760 use Dist::Zilla::Plugin::GithubMeta 0.36 ();
  1         146255  
  1         68  
31 1     1   742 use Dist::Zilla::Plugin::InsertCopyright 0.001 ();
  1         25837  
  1         36  
32 1     1   778 use Dist::Zilla::Plugin::MetaNoIndex ();
  1         37768  
  1         42  
33 1     1   752 use Dist::Zilla::Plugin::MetaProvides::Package 1.14 (); # hides private packages
  1         208748  
  1         37  
34 1     1   711 use Dist::Zilla::Plugin::MinimumPerl ();
  1         155981  
  1         37  
35 1     1   668 use Dist::Zilla::Plugin::SurgicalPodWeaver ();
  1         492824  
  1         43  
36 1     1   743 use Dist::Zilla::Plugin::PromptIfStale 0.011 ();
  1         115935  
  1         34  
37 1     1   637 use Dist::Zilla::Plugin::Prereqs::AuthorDeps ();
  1         50361  
  1         32  
38 1     1   637 use Dist::Zilla::Plugin::RewriteVersion ();
  1         41315  
  1         33  
39 1     1   587 use Dist::Zilla::Plugin::Pod2Readme ();
  1         12972  
  1         31  
40 1     1   527 use Dist::Zilla::Plugin::TaskWeaver 0.101620 ();
  1         117110  
  1         36  
41 1     1   677 use Dist::Zilla::Plugin::Test::Compile 2.036 (); # various features
  1         118628  
  1         42  
42 1     1   600 use Dist::Zilla::Plugin::Test::MinimumVersion 2.000003 ();
  1         91542  
  1         33  
43 1     1   624 use Dist::Zilla::Plugin::Test::Perl::Critic ();
  1         26750  
  1         33  
44 1     1   609 use Dist::Zilla::Plugin::Test::PodSpelling 2.006001 (); # Pod::Wordlist
  1         93831  
  1         36  
45 1     1   622 use Test::Portability::Files 0.06 (); # buggy before that
  1         5735  
  1         20  
46 1     1   422 use Dist::Zilla::Plugin::Test::Portability ();
  1         28115  
  1         34  
47 1     1   671 use Dist::Zilla::Plugin::Test::ReportPrereqs 0.016 (); # better reporting & bug fixes
  1         43386  
  1         32  
48 1     1   601 use Dist::Zilla::Plugin::Test::Version ();
  1         56822  
  1         991  
49              
50             with qw(
51             Dist::Zilla::Role::PluginBundle::Easy
52             Dist::Zilla::Role::PluginBundle::Config::Slicer
53             Dist::Zilla::Role::PluginBundle::PluginRemover
54             );
55              
56             sub mvp_multivalue_args { qw/stopwords/ }
57              
58             has stopwords => (
59             is => 'ro',
60             isa => 'Maybe[ArrayRef]',
61             lazy => 1,
62             default => sub {
63             exists $_[0]->payload->{stopwords} ? $_[0]->payload->{stopwords} : undef;
64             },
65             );
66              
67             has fake_release => (
68             is => 'ro',
69             isa => 'Bool',
70             lazy => 1,
71             default => sub { $_[0]->payload->{fake_release} },
72             );
73              
74             has no_git => (
75             is => 'ro',
76             isa => 'Bool',
77             lazy => 1,
78             default => sub { $_[0]->payload->{no_git} },
79             );
80              
81             has no_copy_files => (
82             is => 'ro',
83             isa => 'Bool',
84             lazy => 1,
85             default => sub { $_[0]->payload->{no_copy_files} },
86             );
87              
88             has no_critic => (
89             is => 'ro',
90             isa => 'Bool',
91             lazy => 1,
92             default => sub {
93             exists $_[0]->payload->{no_critic} ? $_[0]->payload->{no_critic} : 0;
94             },
95             );
96              
97             has no_spellcheck => (
98             is => 'ro',
99             isa => 'Bool',
100             lazy => 1,
101             default => sub {
102             exists $_[0]->payload->{no_spellcheck}
103             ? $_[0]->payload->{no_spellcheck}
104             : 0;
105             },
106             );
107              
108             has no_coverage => (
109             is => 'ro',
110             isa => 'Bool',
111             lazy => 1,
112             default => sub {
113             exists $_[0]->payload->{no_coverage}
114             ? $_[0]->payload->{no_coverage}
115             : 0;
116             },
117             );
118              
119             has no_minimum_perl => (
120             is => 'ro',
121             isa => 'Bool',
122             lazy => 1,
123             default => sub {
124             exists $_[0]->payload->{no_minimum_perl}
125             ? $_[0]->payload->{no_minimum_perl}
126             : 0;
127             },
128             );
129              
130             has is_task => (
131             is => 'ro',
132             isa => 'Bool',
133             lazy => 1,
134             default => sub { $_[0]->payload->{is_task} },
135             );
136              
137             has auto_prereq => (
138             is => 'ro',
139             isa => 'Bool',
140             lazy => 1,
141             default => sub {
142             exists $_[0]->payload->{auto_prereq} ? $_[0]->payload->{auto_prereq} : 1;
143             },
144             );
145              
146             has tag_format => (
147             is => 'ro',
148             isa => 'Str',
149             lazy => 1,
150             default => sub {
151             exists $_[0]->payload->{tag_format} ? $_[0]->payload->{tag_format} : 'release-%v',;
152             },
153             );
154              
155             has version_regexp => (
156             is => 'ro',
157             isa => 'Str',
158             lazy => 1,
159             default => sub {
160             exists $_[0]->payload->{version_regexp}
161             ? $_[0]->payload->{version_regexp}
162             : '^release-(.+)$',
163             ;
164             },
165             );
166              
167             has weaver_config => (
168             is => 'ro',
169             isa => 'Str',
170             lazy => 1,
171             default => sub { $_[0]->payload->{weaver_config} || '@DAGOLDEN' },
172             );
173              
174             has github_issues => (
175             is => 'ro',
176             isa => 'Str',
177             lazy => 1,
178             default => sub {
179             exists $_[0]->payload->{github_issues} ? $_[0]->payload->{github_issues} : 1;
180             },
181             );
182              
183             has git_remote => (
184             is => 'ro',
185             isa => 'Str',
186             lazy => 1,
187             default => sub {
188             exists $_[0]->payload->{git_remote} ? $_[0]->payload->{git_remote} : 'origin',;
189             },
190             );
191              
192             has authority => (
193             is => 'ro',
194             isa => 'Str',
195             lazy => 1,
196             default => sub {
197             exists $_[0]->payload->{authority} ? $_[0]->payload->{authority} : 'cpan:DAGOLDEN';
198             },
199             );
200              
201             has darkpan => (
202             is => 'ro',
203             isa => 'Bool',
204             lazy => 1,
205             default => sub {
206             exists $_[0]->payload->{darkpan} ? $_[0]->payload->{darkpan} : 0;
207             },
208             );
209              
210             has no_bugtracker => ( # XXX deprecated
211             is => 'ro',
212             isa => 'Bool',
213             lazy => 1,
214             default => 0,
215             );
216              
217             has auto_version => (
218             is => 'ro',
219             isa => 'Bool',
220             lazy => 1,
221             default => sub { $_[0]->payload->{auto_version} },
222             );
223              
224             sub configure {
225 1     1 0 4 my $self = shift;
226              
227 1         2 my @push_to = ('origin');
228 1 50       30 push @push_to, $self->git_remote if $self->git_remote ne 'origin';
229              
230             $self->add_plugins(
231              
232             # version number
233             ( $self->auto_version ? 'AutoVersion' : 'RewriteVersion' ),
234              
235             # contributors
236             (
237             $self->no_git
238             ? ()
239             : 'Git::Contributors'
240             ),
241              
242             # gather and prune
243             (
244             $self->no_git
245             ? [ 'GatherDir' => { exclude_filename => [qw/README.mkdn cpanfile Makefile.PL/] }
246             ] # core
247             : [
248             'Git::GatherDir' => { exclude_filename => [qw/README.mkdn cpanfile Makefile.PL/] }
249             ]
250             ),
251             'PruneCruft', # core
252             'ManifestSkip', # core
253              
254             # file munging
255             ( $self->auto_version ? 'PkgVersion' : () ),
256             'InsertCopyright',
257             (
258             $self->is_task
259             ? 'TaskWeaver'
260             : [
261             'SurgicalPodWeaver' => {
262             config_plugin => $self->weaver_config,
263             replacer => 'replace_with_comment',
264             post_code_replacer => 'replace_with_nothing',
265             }
266             ]
267             ),
268              
269             # generated distribution files
270             'Pod2Readme', # in build dir
271             'License', # core
272              
273             # generated t/ tests
274             [
275             'Test::Compile' => {
276             fake_home => 1,
277             xt_mode => 1,
278             }
279             ],
280             (
281             $self->no_minimum_perl
282             ? ()
283             : [ 'Test::MinimumVersion' => { max_target_perl => '5.010' } ]
284             ),
285             'Test::ReportPrereqs',
286              
287             # generated xt/ tests
288             (
289             $self->no_spellcheck ? ()
290             : [
291             'Test::PodSpelling' => $self->stopwords ? { stopwords => $self->stopwords } : ()
292             ]
293             ),
294             (
295             $self->no_critic ? ()
296             : ('Test::Perl::Critic')
297             ),
298             'MetaTests', # core
299             'PodSyntaxTests', # core
300             (
301             $self->no_coverage
302             ? ()
303             : ('PodCoverageTests') # core
304             ),
305             [ 'Test::Portability' => { options => "test_one_dot = 0" } ],
306             'Test::Version',
307              
308             # metadata
309             [
310             'Authority' => {
311             authority => $self->authority,
312             do_munging => 0,
313             }
314             ],
315             'MinimumPerl',
316             (
317             $self->auto_prereq
318             ? [ 'AutoPrereqs' => { skip => "^t::lib" } ]
319             : ()
320             ),
321             [
322             MetaNoIndex => {
323             directory => [qw/t xt examples corpus/],
324             'package' => [qw/DB/]
325             }
326             ],
327             [ 'MetaProvides::Package' => { meta_noindex => 1 } ], # AFTER MetaNoIndex
328             (
329             $self->darkpan
330             ? ()
331             : [
332             GithubMeta => {
333             remote => [qw(origin github)],
334             issues => $self->github_issues,
335             }
336             ],
337             ),
338             (
339             ( $self->no_git || $self->darkpan || !$self->github_issues ) ? (
340             # fake out Pod::Weaver::Section::Support
341             [
342             'Bugtracker' =>
343             { mailto => '', $self->darkpan ? ( web => "http://localhost/" ) : () }
344             ],
345             )
346             : ()
347             ),
348             (
349             ( $self->no_git || $self->darkpan )
350             ? (
351             # fake out Pod::Weaver::Section::Support
352             [
353 1 50 33     31 'MetaResources' => { map { ; "repository.$_" => "http://localhost/" } qw/url web/ }
  2 50 33     41  
    50 33        
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    0          
    50          
    50          
    0          
    0          
    50          
    50          
    0          
    50          
354             ],
355             )
356             : ()
357             ),
358              
359             'Prereqs::AuthorDeps',
360             'MetaYAML', # core
361             'MetaJSON', # core
362             'CPANFile',
363              
364             # build system
365             'ExecDir', # core
366             'ShareDir', # core
367             [ 'MakeMaker' => { eumm_version => '6.17', default_jobs => 9 } ], # core
368              
369             # are we up to date?
370             [
371             'PromptIfStale' => {
372             modules => [qw/Dist::Zilla Dist::Zilla::PluginBundle::DAGOLDEN/],
373             check_all_plugins => 1,
374             }
375             ],
376              
377             # copy files from build back to root for inclusion in VCS;
378             # for auto_version we want cpanfile. For embedded version we want Makefile.PL
379             (
380             $self->no_copy_files
381             ? ()
382             : (
383             [
384             'CopyFilesFromBuild::Filtered' =>
385             { copy => $self->auto_version ? 'cpanfile' : 'Makefile.PL' }
386             ]
387             )
388             ),
389              
390             # manifest -- must come after all generated files
391             'Manifest', # core
392              
393             # before release
394             (
395             $self->no_git ? ()
396             : ('Git::CheckFor::CorrectBranch')
397             ),
398             (
399             $self->no_git ? ()
400             : [
401             'Git::Check' =>
402             { allow_dirty => [ $self->auto_version ? 'cpanfile' : 'Makefile.PL' ] }
403             ]
404             ),
405             'CheckMetaResources',
406             'CheckPrereqsIndexed',
407             'CheckChangesHasContent',
408             [ 'RunExtraTests' => { default_jobs => 9 } ],
409             'TestRelease', # core
410             'ConfirmRelease', # core
411              
412             # release
413             ( $self->fake_release || $self->darkpan ? 'FakeRelease' : 'UploadToCPAN' ), # core
414              
415             # after release
416             # Note -- NextRelease is here to get the ordering right with
417             # git actions. It is *also* a file munger that acts earlier
418              
419             (
420             $self->no_git
421             ? ()
422             : (
423             [
424             'Git::Commit' => 'Commit_Dirty_Files' => {
425             commit_msg => "Update " . ( $self->auto_version ? 'cpanfile' : 'Makefile.PL' ),
426             allow_dirty => [ $self->auto_version ? 'cpanfile' : 'Makefile.PL' ]
427             }
428             ],
429             [ 'Git::Tag' => { tag_format => $self->tag_format } ],
430             )
431             ),
432              
433             # bumps Changes
434             'NextRelease', # core (also munges files)
435              
436             # bumps $VERSION, maybe
437             ( $self->auto_version ? () : 'BumpVersionAfterRelease' ),
438              
439             (
440             $self->no_git ? ()
441             : (
442             [
443             'Git::Commit' => 'Commit_Changes' => {
444             $self->auto_version ? ( commit_msg => "After release: timestamp Changes" )
445             : (
446             commit_msg => "After release: bump \$VERSION and timestamp Changes",
447             allow_dirty => [qw/Changes Makefile.PL/],
448             allow_dirty_match => '^lib',
449             )
450             }
451             ],
452             [ 'Git::Push' => { push_to => \@push_to } ],
453             )
454             ),
455              
456             );
457              
458             }
459              
460             __PACKAGE__->meta->make_immutable;
461              
462             1;
463              
464             #
465             # This file is part of Dist-Zilla-PluginBundle-DAGOLDEN
466             #
467             # This software is Copyright (c) 2016 by David Golden.
468             #
469             # This is free software, licensed under:
470             #
471             # The Apache License, Version 2.0, January 2004
472             #
473              
474             __END__
475              
476             =pod
477              
478             =encoding UTF-8
479              
480             =head1 NAME
481              
482             Dist::Zilla::PluginBundle::DAGOLDEN - Dist::Zilla configuration the way DAGOLDEN does it
483              
484             =head1 VERSION
485              
486             version 0.078
487              
488             =head1 SYNOPSIS
489              
490             # in dist.ini
491             [@DAGOLDEN]
492              
493             =head1 DESCRIPTION
494              
495             This is a L<Dist::Zilla> PluginBundle. It is roughly equivalent to the
496             following dist.ini:
497              
498             ; version provider
499             [RewriteVersion] ; also munges
500              
501             ; collect contributors list
502             [Git::Contributors]
503              
504             ; choose files to include
505             [Git::GatherDir] ; everything from git ls-files
506             exclude_filename = README.pod ; skip this generated file
507             exclude_filename = README.mkdn ; skip this generated file
508             exclude_filename = META.json ; skip this generated file
509             exclude_filename = cpanfile ; skip this generated file
510             exclude_filename = Makefile.PL ; skip this generated file
511              
512             [PruneCruft] ; default stuff to skip
513             [ManifestSkip] ; if -f MANIFEST.SKIP, skip those, too
514              
515             ; file modifications
516             [InsertCopyright] ; add copyright at "# COPYRIGHT"
517             [SurgicalPodWeaver] ; generate Pod
518             config_plugin = @DAGOLDEN ; my own plugin allows Pod::WikiDoc
519             replacer = replace_with_comment
520             post_code_replacer = replace_with_nothing
521              
522             ; generated files
523             [License] ; boilerplate license
524             [Pod2Readme] ; from Pod (runs after PodWeaver)
525              
526             ; t tests
527             [Test::ReportPrereqs] ; show prereqs in automated test output
528              
529             ; xt tests
530             [Test::MinimumVersion] ; xt/release/minimum-version.t
531             max_target_perl = 5.010 ; don't use syntax/features past 5.10
532             [Test::PodSpelling] ; xt/author/pod-spell.t
533             [Test::Perl::Critic]; xt/author/critic.t
534             [MetaTests] ; xt/release/meta-yaml.t
535             [PodSyntaxTests] ; xt/release/pod-syntax.t
536             [PodCoverageTests] ; xt/release/pod-coverage.t
537             [Test::Portability] ; xt/release/portability.t (of file name)
538             options = test_one_dot = 0
539             [Test::Version] ; xt/release/test-version.t
540             [Test::Compile] ; xt/author/00-compile.t
541             fake_home = 1 ; fakes $ENV{HOME} just in case
542             xt_mode = 1 ; make sure all files compile
543              
544             ; metadata
545             [AutoPrereqs] ; find prereqs from code
546             skip = ^t::lib
547              
548             [Authority]
549             authority = cpan:DAGOLDEN
550             do_munging = 0
551              
552             [MinimumPerl] ; determine minimum perl version
553              
554             [MetaNoIndex] ; sets 'no_index' in META
555             directory = t
556             directory = xt
557             directory = examples
558             directory = corpus
559             package = DB ; just in case
560              
561             [GithubMeta] ; set META resources
562             remote = origin
563             remote = github
564             issues = 1
565              
566             [MetaProvides::Package] ; add 'provides' to META files
567             meta_noindex = 1 ; respect prior no_index directives
568              
569             [Prereqs::AuthorDeps] ; add authordeps as develop/requires
570             [MetaYAML] ; generate META.yml (v1.4)
571             [MetaJSON] ; generate META.json (v2)
572             [CPANFile] ; generate cpanfile
573              
574             ; build system
575             [ExecDir] ; include 'bin/*' as executables
576             [ShareDir] ; include 'share/' for File::ShareDir
577             [MakeMaker] ; create Makefile.PL
578             eumm_version = 6.17
579             default_jobs = 9
580              
581             ; manifest (after all generated files)
582             [Manifest] ; create MANIFEST
583              
584             ; copy Makefile.PL back to repo dis
585             [CopyFilesFromBuild::Filtered]
586             copy = Makefile.PL
587              
588             ; before release
589              
590             [PromptIfStale] ; check if our build tools are out of date
591             module = Dist::Zilla
592             module = Dist::Zilla::PluginBundle::DAGOLDEN
593             check_all_plugins = 1
594              
595             [Git::CheckFor::CorrectBranch] ; ensure on master branch
596              
597             [Git::Check] ; ensure all files checked in
598             allow_dirty = dist.ini
599             allow_dirty = Changes
600             allow_dirty = cpanfile
601              
602             [CheckMetaResources] ; ensure META has 'resources' data
603             [CheckPrereqsIndexed] ; ensure prereqs are on CPAN
604             [CheckChangesHasContent] ; ensure Changes has been updated
605              
606             [RunExtraTests] ; ensure xt/ tests pass
607             default_jobs = 9
608              
609             [TestRelease] ; ensure t/ tests pass
610             [ConfirmRelease] ; prompt before uploading
611              
612             ; releaser
613             [UploadToCPAN] ; uploads to CPAN
614              
615             ; after release
616             [Git::Commit / Commit_Dirty_Files] ; commit Changes (as released)
617              
618             [Git::Tag] ; tag repo with custom tag
619             tag_format = release-%v
620              
621             ; NextRelease acts *during* pre-release to write $VERSION and
622             ; timestamp to Changes and *after* release to add a new {{$NEXT}}
623             ; section, so to act at the right time after release, it must actually
624             ; come after Commit_Dirty_Files but before Commit_Changes in the
625             ; dist.ini. It will still act during pre-release as usual
626              
627             [NextRelease]
628             [BumpVersionAfterRelease]
629              
630             [Git::Commit / Commit_Changes] ; commit Changes (for new dev)
631              
632             [Git::Push] ; push repo to remote
633             push_to = origin
634              
635             =head1 USAGE
636              
637             To use this PluginBundle, just add it to your dist.ini. You can provide
638             the following options:
639              
640             =over 4
641              
642             =item *
643              
644             C<is_task> — this indicates whether C<TaskWeaver> or C<SurgicalPodWeaver> should be used.
645              
646             Default is 0.
647              
648             =item *
649              
650             C<authority> — specifies the C<x_authority> field for pause. Defaults to 'cpan:DAGOLDEN'.
651              
652             =item *
653              
654             C<auto_prereq> — this indicates whether C<AutoPrereqs> should be used or not. Default is 1.
655              
656             # C<auto_version> - this indicates whether C<AutoVersion> should be used or not. Default is 0.
657              
658             =item *
659              
660             C<darkpan> — for private code; uses C<FakeRelease> and fills in dummy repo/bugtracker data
661              
662             =item *
663              
664             C<fake_release> — swaps C<FakeRelease> for C<UploadToCPAN>. Mostly useful for testing a dist.ini without risking a real release.
665              
666             =item *
667              
668             C<git_remote> — where to push after release
669              
670             =item *
671              
672             C<github_issues> — whether to use github issue tracker. Defaults is 1.
673              
674             =item *
675              
676             C<stopwords> — add stopword for C<Test::PodSpelling> (can be repeated)
677              
678             =item *
679              
680             C<tag_format> — given to C<Git::Tag>. Default is 'release-%v' to be more
681              
682             robust than just the version number when parsing versions for
683             L<Git::NextVersion>
684              
685             =item *
686              
687             C<weaver_config> — specifies a L<Pod::Weaver> bundle. Defaults to @DAGOLDEN.
688              
689             =item *
690              
691             C<version_regexp> — given to L<Git::NextVersion>. Default
692              
693             is '^release-(.+)$'
694              
695             =item *
696              
697             C<no_git> — bypass all git-dependent plugins
698              
699             =item *
700              
701             C<no_copy_files> — skip copying Makefile.PL or cpanfile
702              
703             =item *
704              
705             C<no_critic> — omit C<Test::Perl::Critic> tests
706              
707             =item *
708              
709             C<no_spellcheck> — omit C<Test::PodSpelling> tests
710              
711             =item *
712              
713             C<no_coverage> — omit PodCoverage tests
714              
715             =item *
716              
717             C<no_minimum_perl> — omit C<Test::MinimumVersion> tests
718              
719             =item *
720              
721             C<no_bugtracker> — DEPRECATED
722              
723             =back
724              
725             When running without git, C<GatherDir> is used instead of C<Git::GatherDir>.
726             and all git check and commit operations are disabled.
727              
728             By default, versions are taken/rewritten in the source file using C<RewriteVersion>
729             and C<BumpVersionAfterRelease>. If the C<auto_version> option is true, the version
730             is set by C<AutoVersion> and munged with C<PkgVersion>. For C<auto_version> the
731             generated C<cpanfile> is copied to the repo on build; otherwise, C<Makefile.PL> is
732             copied.
733              
734             This PluginBundle now supports C<ConfigSlicer>, so you can pass in options to the
735             plugins used like this:
736              
737             [@DAGOLDEN]
738             Test::MinimumVersion.max_target_perl = 5.014
739             ExecDir.dir = scripts
740              
741             This PluginBundle also supports C<PluginRemover>, so dropping a plugin is as easy as this:
742              
743             [@DAGOLDEN]
744             -remove = InsertCopyright
745              
746             =for Pod::Coverage configure mvp_multivalue_args
747              
748             =for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
749              
750             =head1 SUPPORT
751              
752             =head2 Bugs / Feature Requests
753              
754             Please report any bugs or feature requests through the issue tracker
755             at L<https://github.com/dagolden/Dist-Zilla-PluginBundle-DAGOLDEN/issues>.
756             You will be notified automatically of any progress on your issue.
757              
758             =head2 Source Code
759              
760             This is open source software. The code repository is available for
761             public review and contribution under the terms of the license.
762              
763             L<https://github.com/dagolden/Dist-Zilla-PluginBundle-DAGOLDEN>
764              
765             git clone https://github.com/dagolden/Dist-Zilla-PluginBundle-DAGOLDEN.git
766              
767             =head1 AUTHOR
768              
769             David Golden <dagolden@cpan.org>
770              
771             =head1 CONTRIBUTORS
772              
773             =for stopwords Christian Walde Eric Johnson Karen Etheridge Philippe Bruhat (BooK) Sergey Romanov 김도형 - Keedi Kim
774              
775             =over 4
776              
777             =item *
778              
779             Christian Walde <walde.christian@googlemail.com>
780              
781             =item *
782              
783             Eric Johnson <eric.git@iijo.org>
784              
785             =item *
786              
787             Karen Etheridge <ether@cpan.org>
788              
789             =item *
790              
791             Philippe Bruhat (BooK) <book@cpan.org>
792              
793             =item *
794              
795             Sergey Romanov <complefor@rambler.ru>
796              
797             =item *
798              
799             김도형 - Keedi Kim <keedi@cpan.org>
800              
801             =back
802              
803             =head1 COPYRIGHT AND LICENSE
804              
805             This software is Copyright (c) 2016 by David Golden.
806              
807             This is free software, licensed under:
808              
809             The Apache License, Version 2.0, January 2004
810              
811             =cut