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

VERSION
    version 0.015

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
       [GatherDir]         ; everything under top dir
       [PruneCruft]        ; default stuff to skip
       [ManifestSkip]      ; if -f MANIFEST.SKIP, skip those, too
 
       ; file modifications
       [PkgVersion]        ; add $VERSION = ... to all files
       [Prepender]         ; prepend a copyright statement to all files
       [PodWeaver]         ; generate Pod
       config_plugin = @DAGOLDEN ; my own plugin allows Pod::WikiDoc
 
       ; generated files
       [License]           ; boilerplate license
       [ReadmeFromPod]     ; from Pod (runs after PodWeaver)
 
       ; t tests
       [CompileTests]      ; make sure .pm files all compile
       fake_home = 1       ; fakes $ENV{HOME} just in case
 
       ; xt tests
       [MetaTests]         ; xt/release/meta-yaml.t
       [PodSyntaxTests]    ; xt/release/pod-syntax.t
       [PodCoverageTests]  ; xt/release/pod-coverage.t
       [PortabilityTests]  ; xt/release/portability.t (of file name)
 
       ; metadata
       [AutoPrereqs]       ; find prereqs from code
       [MinimumPerl]       ; determine minimum perl version
 
       [Repository]        ; set 'repository' in META
       git_remote = origin ;   - remote to choose
       github_http = 0     ;   - for github, use git:// not http://
 
       ; overrides [Repository] if repository is on github
       [GithubMeta]
       remote = origin     ; better than [Repository]; sets homepage, too
 
       [MetaNoIndex]       ; sets 'no_index' in META
       directory = t
       directory = xt
       directory = examples
       directory = corpus
       package = DB        ; just in case
 
       [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
 
       ; before release
       [Git::Check]        ; ensure all files checked in
       [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-(.+)$'

    *   "git_remote" -- given to "Repository". Defaults to 'origin'. If set
        to something other than 'origin', it is also added as a "push_to"
        argument for "Git::Push"

    *   "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.

SEE ALSO
    *   Dist::Zilla

    *   Dist::Zilla::Plugin::PodWeaver

    *   Dist::Zilla::Plugin::TaskWeaver

AUTHOR
    David Golden <dagolden@cpan.org>

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

    This is free software, licensed under:

      The Apache License, Version 2.0, January 2004

