The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
NAME
    Dist::Zilla::PluginBundle::BAREFOOT - Dist::Zilla configuration the way
    BAREFOOT does it

VERSION
    version 0.03_02

SYNOPSIS
       # in dist.ini
       [@BAREFOOT]

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
            first_version = 0.01
            version_regexp = ^v(.+)$
 
            ; 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 = @BAREFOOT                       ; allows Pod::WikiDoc and a few other bits and bobs
 
            ; 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
 
            ; xt tests
            [Test::PodSpelling]                                     ; xt/author/pod-spell.t
            [MetaTests]                                                     ; xt/release/meta-yaml.t
            [PodSyntaxTests]                                        ; xt/release/pod-syntax.t
            [PodCoverageTests]                                      ; xt/release/pod-coverage.t
            [Test::Version]                                         ; xt/release/test-version.t
 
            ; metadata
            [AutoPrereqs]                                           ; find prereqs from code
            skip = ^t::lib
 
            [MinimumPerl]                                           ; determine minimum perl version
            [GithubMeta]
            remote = origin
 
            [MetaNoIndex]                                           ; sets 'no_index' in META
            directory = t
            directory = xt
            directory = examples
            directory = corpus
            package = DB                                            ; just in case
 
            [Bugtracker]
            web = http://github.com/me/%l/issues
 
            ; can't get this one to work right ATM
            ; [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
 
            ; move README.pod back to repo dir
            [CopyFilesFromBuild]
            move = README.pod
 
            ; 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 = v%v                                        ; this one is overridable
            tag_message = version %v for CPAN       ; this one isn't
 
            ; 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:

    *   "auto_prereq" -- This indicates whether AutoPrereq should be used or
        not. Default is 1.

    *   "tag_format" -- Given to "Git::Tag". Default is 'v%v'.

    *   "version_regexp" -- Given to "Git::NextVersion". Default is
        '^v(.+)$'.

    *   "git_remote" -- Given to "Git::Push" _in addition to_ origin; given
        to GithubMeta _instead of_ origin.

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

    *   "stopwords" -- Add stopword for Test::PodSpelling (can be repeated).

    *   "no_spellcheck" -- Omit Test::PodSpelling tests.

INSTALLATION
    If you want to make sure you have all the necessary prereqs, try this
    (from the dir you checked out the distro into):

            perl -lne 'print $1 if /Dependencies/../VERSION/ and /use\s+(\S+)/' lib/*/*/PluginBundle/BAREFOOT.pm | cpanm -n

SEE ALSO
    *   Dist::Zilla

    *   Dist::Zilla::Plugin::PodWeaver

AUTHOR
    Buddy Burden <barefoot@cpan.org>

COPYRIGHT AND LICENSE
    This software is Copyright (c) 2013 by Buddy Burden.

    This is free software, licensed under:

      The Artistic License 2.0 (GPL Compatible)

SUPPORT
  Perldoc
    You can find documentation for this module with the perldoc command.

      perldoc Dist::Zilla::PluginBundle::BAREFOOT

  Bugs / Feature Requests
    none