++ed by:

4 PAUSE users
2 non-PAUSE users.

David Golden


Dist::Zilla::PluginBundle::DAGOLDEN - Dist::Zilla configuration the way DAGOLDEN does it


version 0.027


   # in dist.ini


This is a Dist::Zilla PluginBundle. It is roughly equivalent to the following dist.ini:

   ; version provider
   [Git::NextVersion]  ; get version from last release tag
   version_regexp = ^release-(.+)$
   ; choose files to include
   [GatherDir]         ; everything under top dir
   exclude_filename = README.pod   ; skip this generated file
   exclude_filename = META.json    ; skip this generated file
   [PruneCruft]        ; default stuff to skip
   [ManifestSkip]      ; if -f MANIFEST.SKIP, skip those, too
   ; file modifications
   [OurPkgVersion]     ; add $VERSION = ... to all files
   [InsertCopyright    ; add copyright at "# COPYRIGHT"
   [PodWeaver]         ; generate Pod
   config_plugin = @DAGOLDEN ; my own plugin allows Pod::WikiDoc
   ; generated files
   [License]           ; boilerplate license
   [ReadmeFromPod]     ; from Pod (runs after PodWeaver)
   [ReadmeAnyFromPod]  ; create README.pod in repo directory
   type = pod
   filename = README.pod
   location = root
   ; t tests
   [Test::Compile]     ; make sure .pm files all compile
   fake_home = 1       ; fakes $ENV{HOME} just in case
   ; xt tests
   [Test::PodSpelling] ; xt/author/pod-spell.t
   [Test::Perl::Critic]; xt/author/critic.t
   [MetaTests]         ; xt/release/meta-yaml.t
   [PodSyntaxTests]    ; xt/release/pod-syntax.t
   [PodCoverageTests]  ; xt/release/pod-coverage.t
   [Test::Portability] ; xt/release/portability.t (of file name)
   [Test::Version]     ; xt/release/test-version.t
   ; metadata
   [AutoPrereqs]       ; find prereqs from code
   skip = ^t::lib
   [MinimumPerl]       ; determine minimum perl version
   [MetaNoIndex]       ; sets 'no_index' in META
   directory = t
   directory = xt
   directory = examples
   directory = corpus
   package = DB        ; just in case
   [Bugtracker]        ; defaults to RT
   [MetaProvides::Package] ; add 'provides' to META files
   meta_noindex = 1        ; respect prior no_index directives
   [MetaYAML]          ; generate META.yml (v1.4)
   [MetaJSON]          ; generate META.json (v2)
   ; build system
   [ExecDir]           ; include 'bin/*' as executables
   [ShareDir]          ; include 'share/' for File::ShareDir
   [MakeMaker]         ; create Makefile.PL
   ; manifest (after all generated files)
   [Manifest]          ; create MANIFEST
   ; copy META.json back to repo dis
   copy = META.json
   ; before release
   [Git::Check]        ; ensure all files checked in
   allow_dirty = dist.ini
   allow_dirty = Changes
   allow_dirty = README.pod
   allow_dirty = META.json
   [CheckPrereqsIndexed]    ; ensure prereqs are on CPAN
   [CheckChangesHasContent] ; ensure Changes has been updated
   [CheckExtraTests]   ; ensure xt/ tests pass
   [TestRelease]       ; ensure t/ tests pass
   [ConfirmRelease]    ; prompt before uploading
   ; releaser
   [UploadToCPAN]      ; uploads to CPAN
   ; after release
   [Git::Commit / Commit_Dirty_Files] ; commit Changes (as released)
   [Git::Tag]          ; tag repo with custom tag
   tag_format = release-%v
   ; NextRelease acts *during* pre-release to write $VERSION and
   ; timestamp to Changes and  *after* release to add a new {{$NEXT}}
   ; section, so to act at the right time after release, it must actually
   ; come after Commit_Dirty_Files but before Commit_Changes in the
   ; dist.ini.  It will still act during pre-release as usual
   [Git::Commit / Commit_Changes] ; commit Changes (for new dev)
   [Git::Push]         ; push repo to remote
   push_to = origin


To use this PluginBundle, just add it to your dist.ini. You can provide the following options:

  • is_task -- this indicates whether TaskWeaver or PodWeaver should be used. Default is 0.

  • auto_prereq -- this indicates whether AutoPrereq should be used or not. Default is 1.

  • tag_format -- given to Git::Tag. Default is 'release-%v' to be more robust than just the version number when parsing versions for Git::NextVersion

  • version_regexp -- given to Git::NextVersion. Default is '^release-(.+)$'

  • fake_release -- swaps FakeRelease for UploadToCPAN. Mostly useful for testing a dist.ini without risking a real release.

  • weaver_config -- specifies a Pod::Weaver bundle. Defaults to @DAGOLDEN.

  • stopwords -- add stopword for Test::PodSpelling (can be repeated)

  • no_critic -- omit Test::Perl::Critic tests

  • no_spellcheck -- omit Test::PodSpelling tests



Bugs / Feature Requests

Please report any bugs or feature requests through the issue tracker at http://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-PluginBundle-DAGOLDEN. You will be notified automatically of any progress on your issue.

Source Code

This is open source software. The code repository is available for public review and contribution under the terms of the license.


  git clone https://github.com/dagolden/dist-zilla-pluginbundle-dagolden.git


David Golden <dagolden@cpan.org>


This software is Copyright (c) 2012 by David Golden.

This is free software, licensed under:

  The Apache License, Version 2.0, January 2004