The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
NAME
    Dist::Zilla::PluginBundle::DAGOLDEN - Dist::Zilla configuration the way
    DAGOLDEN does it

VERSION
    version 0.040

SYNOPSIS
       # in dist.ini
       [@DAGOLDEN]

DESCRIPTION
    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
       [Git::GatherDir]         ; everything from git ls-files
       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
 
       [Test::ReportPrereqs] ; show prereqs in automated test output
 
       ; 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)
       options = test_one_dot = 0
       [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
 
       [AutoMetaResources] ; set META resources
       bugtracker.rt      = 1
       repository.github  = user:dagolden
       homepage           = https://metacpan.org/release/%{dist}
 
       [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
       [CopyFilesFromBuild]
       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
 
       [CheckMetaResources]     ; ensure META has 'resources' data
       [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
 
       [NextRelease]
 
       [Git::Commit / Commit_Changes] ; commit Changes (for new dev)
 
       [Git::Push]         ; push repo to remote
       push_to = origin

USAGE
    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_git" -- bypass all git-dependent plugins

    *   "no_critic" -- omit Test::Perl::Critic tests

    *   "no_spellcheck" -- omit Test::PodSpelling tests

    *   "no_coverage" -- omit PodCoverage tests

    *   "no_bugtracker" -- DEPRECATED

    When running without git, C<GatherDir> is used instead of
    C<Git::GatherDir>, C<AutoVersion> is used instead of
    C<Git::NextVersion>, and all git check and commit operations are
    disabled.

    This PluginBundle now supports ConfigSlicer, so you can pass in options
    to the plugins used like this:

       [@DAGOLDEN]
       ExecDir.dir = scripts ; overrides ExecDir

COMMON PATTERNS
  use github instead of RT
       [@DAGOLDEN]
       :version = 0.32
       AutoMetaResources.bugtracker.github = user:dagolden
       AutoMetaResources.bugtracker.rt = 0

SEE ALSO
    *   Dist::Zilla

    *   Dist::Zilla::Plugin::PodWeaver

    *   Dist::Zilla::Plugin::TaskWeaver

SUPPORT
  Bugs / Feature Requests
    Please report any bugs or feature requests through the issue tracker at
    <https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-PluginBund
    le-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.

    <https://github.com/dagolden/dist-zilla-pluginbundle-dagolden>

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

AUTHOR
    David Golden <dagolden@cpan.org>

COPYRIGHT AND LICENSE
    This software is Copyright (c) 2013 by David Golden.

    This is free software, licensed under:

      The Apache License, Version 2.0, January 2004