Dist::Zilla::PluginBundle::DAGOLDEN - Dist::Zilla configuration the way DAGOLDEN does it
version 0.039
# in dist.ini [@DAGOLDEN]
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
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.
is_task
auto_prereq -- this indicates whether AutoPrereq should be used or not. Default is 1.
auto_prereq
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
tag_format
Git::Tag
Git::NextVersion
version_regexp -- given to Git::NextVersion. Default is '^release-(.+)$'
version_regexp
fake_release -- swaps FakeRelease for UploadToCPAN. Mostly useful for testing a dist.ini without risking a real release.
fake_release
weaver_config -- specifies a Pod::Weaver bundle. Defaults to @DAGOLDEN.
weaver_config
stopwords -- add stopword for Test::PodSpelling (can be repeated)
stopwords
no_git_gather -- use GatherDir instead of Git::GatherDir
no_git_gather
no_critic -- omit Test::Perl::Critic tests
no_critic
no_spellcheck -- omit Test::PodSpelling tests
no_spellcheck
no_coverage -- omit PodCoverage tests
no_coverage
no_bugtracker -- DEPRECATED
no_bugtracker
This PluginBundle now supports ConfigSlicer, so you can pass in options to the plugins used like this:
[@DAGOLDEN] ExecDir.dir = scripts ; overrides ExecDir
[@DAGOLDEN] :version = 0.32 AutoMetaResources.bugtracker.github = user:dagolden AutoMetaResources.bugtracker.rt = 0
Dist::Zilla
Dist::Zilla::Plugin::PodWeaver
Dist::Zilla::Plugin::TaskWeaver
Please report any bugs or feature requests through the issue tracker at https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-PluginBundle-DAGOLDEN. You will be notified automatically of any progress on your issue.
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
David Golden <dagolden@cpan.org>
This software is Copyright (c) 2013 by David Golden.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004
To install Dist::Zilla::PluginBundle::DAGOLDEN, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Dist::Zilla::PluginBundle::DAGOLDEN
CPAN shell
perl -MCPAN -e shell install Dist::Zilla::PluginBundle::DAGOLDEN
For more information on module installation, please visit the detailed CPAN module installation guide.