Dist::Zilla::PluginBundle::BAREFOOT - Dist::Zilla configuration the way BAREFOOT does it
This document describes version 0.06 of Dist::Zilla::PluginBundle::BAREFOOT.
# in dist.ini [@BAREFOOT]
This is a Dist::Zilla PluginBundle. It is roughly equivalent to the following dist.ini:
; version provider ; hopefully soemething here soon ; 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 ; this should probably be moved to metadata section [AutoPrereqs] ; find prereqs from code skip = ^t::lib ; 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 [ReadmeAnyFromPod] ; create README.pod in repo directory type = pod filename = README.pod location = root ; should this be in metadata section? [Bugtracker] web = http://github.com/barefootcoder/%l/issues ; 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 ;[MinimumPerl] ; determine minimum perl version [GithubMeta] remote = origin ;[MetaYAML] ; generate META.yml (v1.4) [MetaJSON] ; generate META.json (v2) ;[MetaNoIndex] ; sets 'no_index' in META ;directory = t ;directory = xt ;directory = examples ;directory = corpus ;package = DB ; just in case ; can't get this one to work right ATM ; [MetaProvides::Package] ; add 'provides' to META files ; meta_noindex = 1 ; respect prior no_index directives [MetaProvides::Class] ; add 'provides' to META files for classes inherit_version = 1 ; use version from dist.ini ; 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 allow_dirty = dist.ini allow_dirty = Changes allow_dirty = README.pod ; ignore this generated file allow_dirty = META.json ; ignore this generated file ;[CheckPrereqsIndexed] ; ensure prereqs are on CPAN [CheckVersionIncrement] ; ensure version has been bumped [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::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 come ; after UploadToCPAN but before Git::Commit in the dist.ini. It ; will still act during pre-release as usual. [NextRelease] [Git::Commit] ; 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:
auto_prereq -- This indicates whether AutoPrereq should be used or not. Default is 1.
auto_prereq
tag_format -- Given to Git::Tag. Default is 'v%v'.
tag_format
Git::Tag
version_regexp -- Given to Git::NextVersion. Default is '^v(.+)$'.
version_regexp
Git::NextVersion
git_remote -- Given to Git::Push _in addition to_ origin; given to GithubMeta _instead of_ origin.
git_remote
Git::Push
fake_release -- Swaps FakeRelease for UploadToCPAN. Mostly useful for testing a dist.ini without risking a real release.
fake_release
stopwords -- Add stopword for Test::PodSpelling (can be repeated).
stopwords
no_spellcheck -- Omit Test::PodSpelling tests.
no_spellcheck
repository_link -- Override the Pod::Weaver Support section default (which is "both").
repository_link
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
Dist::Zilla
Dist::Zilla::Plugin::PodWeaver
You can find documentation for this module with the perldoc command.
perldoc Dist::Zilla::PluginBundle::BAREFOOT
This module is on GitHub. Feel free to fork and submit patches. Please note that I develop via TDD (Test-Driven Development), so a patch that includes a failing test is much more likely to get accepted (or least likely to get accepted more quickly). If you just want to report a problem or suggest a feature, that's okay too. You can create an issue on GitHub here: L<http://github.com/barefootcoder/dist-zilla-pluginbundle-barefoot/issues>.
none https://github.com/barefootcoder/dist-zilla-pluginbundle-barefoot
git clone https://github.com/barefootcoder/dist-zilla-pluginbundle-barefoot.git
Buddy Burden <barefoot@cpan.org>
This software is Copyright (c) 2016 by Buddy Burden.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
To install Dist::Zilla::PluginBundle::BAREFOOT, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Dist::Zilla::PluginBundle::BAREFOOT
CPAN shell
perl -MCPAN -e shell install Dist::Zilla::PluginBundle::BAREFOOT
For more information on module installation, please visit the detailed CPAN module installation guide.