Dist::Zilla::PluginBundle::Author::HAYOBAAN - Hayo Baan's Dist::Zilla configuration
version 0.014
This is a Dist::Zilla PluginBundle. It installs and configures Dist::Zilla plugins according to HAYOBAAN's preferences. The following plugins are (conditionally) installed and configured:
AutoVersion
Author::HAYOBAAN::NextVersion
OurPkgVersion
GatherDir
Git::GatherDir
PruneCruft
ManifestSkip
PodWeaver (and SurgicalPodWeaver when enabled)
ReadmeAnyFromPod (both Text and Markdown generation are configured)
Dist::Zilla::Plugin::MetaYAML
License
InstallGuide
MinimumPerl
AutoPrereqs
MetaNoIndex
GitHub::Meta
MetaJSON
MetaYAML
MetaProvides::Package
MetaProvides::Class
ExecDir
ShareDir
MakeMaker (default)
ModuleBuild (optional)
Manifest
CopyFilesFromBuild
Run::AfterBuild
GitHubREADME::Badge
CheckChangesHasContent
Git::CheckFor::CorrectBranch
Git::Check
CheckMetaResources
CheckPrereqsIndexed
Test::Compile
Test::Perl::Critic
Test::EOL
Test::NoTabs
Test::Version
Test::MinimumVersion
MojibakeTests
Test::Kwalitee
Test::Portability
Test::UnusedVars
Test::CPAN::Changes
Test::DistManifest
Test::CPAN::Meta::JSON
MetaTests
PodSyntaxTests
PodCoverageTests
Author::HAYOBAAN::LinkCheck
Test::Synopsis
TestRelease
RunExtraTests
ConfirmRelease
UploadToCPAN
FakeRelease
NextRelease
Git::Commit
Git::Tag
Git::Push
GitHub::Update
Run::AfterRelease
Clean
# In dist.ini [@Author::HAYOBAAN]
The following additional command-line option is available for the dzil command.
dzil
Adding this option to the dzil command will set the "local_release_only" attribute to true.
--local, --local-only, and --local-release are synonyms for this option.
--local
--local-only
--local-release
Adding this option to the dzil command will set the "make_minor_release" attribute to true.
--minor, --minor-release, and --make-minor are synonyms for this option.
--minor
--minor-release
--make-minor
Note: Implied with "--local-release-only", overriden by "--make-major-release".
Adding this option to the dzil command will set the "make_major_release" attribute to true.
--major, --major-release, and --make-major are synonyms for this option.
--major
--major-release
--make-major
Note: Overrides --make-minor-release.
Adding this option will force keep the version number the same (regardless of the other settings above!).
--keep is a synonym for this option.
--keep
Specifies that this is a distribution that is destined for CPAN. When true, releases are uploaded to CPAN using UploadToCPAN. If false, releases are made using FakeRelease.
Default: false.
Specifies that the distribution's repository is hosted on GitHub.
Default: false (note: setting "is_cpan" enforces "is_github_hosted" to true)
Specifies where to push the distribution on GitHub. Can be used multiple times to upload to multiple branches.
Default: origin
origin
Specifies that the distribution is not under git version control.
Default: false (note: setting "is_github_hosted" enforces this setting to false)
Setting this to true will:
inhibit uploading to CPAN,
inhibit git checking, tagging, commiting, and pushing,
inhibit checking the Changes file,
include a minor version number (e.g., _001) in the version string (see "make_minor_release").
_001
When releasing, the "run_after_release" code is still run so you can use this flag to release a development version locally for further use or testing, without e.g., fixing a new major version number.
local, local_only, and local_release are synonyms for this setting.
local
local_only
local_release
Default: false
If the version string does not yet have a minor release number, this will add one with the value of _001.
minor, minor_release, and make_minor are synonyms for this setting.
minor
minor_release
make_minor
Default: value of "local_release_only"
Note: Overridden by "make_major_release".
Removes any minor version from the version string.
major, major_release, and make_major are synonyms for this setting.
major
major_release
make_major
Note: Overrides "make_minor_release".
Will keep the current version number the same when building/releasing.
Uses MakeMaker as build method.
Default: true
Note: When both use_makemaker and use_modulebuild are false, MakeMaker will be used!
use_makemaker
use_modulebuild
Uses Module::Build as build method.
Specifies commands to run after the release has been built (but not yet released). Multiple "run_after_build" commands can be specified.
The commands are run from the root of your development tree and has the following special symbols available:
%d the directory in which the distribution was built
%d
%n the name of the distribution
%n
%p path separator ('/' on Unix, '\\' on Win32... useful for cross-platform dist.ini files)
%p
%v the version of the distribution
%v
%t -TRIAL if the release is a trial release, otherwise the empty string
%t
%x full path to the current perl interpreter (like $^X but from Config)
%x
Default: nothing
Specifies commands to run after the release has been made. Use it to e.g., automatically install your distibution after releasing. Multiple run_after_release commands can be specified.
The commands are run from the root of your development tree and has the same symbols available as the "run_after_build", plus the following:
%a the archive of the release
%a
Default: cpanm './%d'
cpanm './%d'
To install using cpanm (this is the default):
run_after_release = cpanm './%d'
To install using cpan:
run_after_release = %x -MCPAN -einstall './%d'
To not do anything:
run_after_release =
Additional test plugin to use. Can be used multiple times to add more than one additional test.
By default the following tests are executed:
Test::Compile -- Checks if perl code compiles correctly
Test::Perl::Critic -- Checks Perl source code for best-practices
Test::EOL -- Checks line endings
Test::NoTabs -- Checks for the use of tabs
Test::Version -- Checks to see if each module has the correct version set
Test::MinimumVersion -- Checks the minimum perl version, using "max_target_perl"
MojibakeTests -- Checks source encoding
Test::Kwalitee -- Checks the Kwalitee
Test::Portability -- Checks portability of code
Test::UnusedVars -- Checks for unused variables
Test::CPAN::Changes -- Validation of the Changes file
Test::DistManifest -- Validation of the MANIFEST file
Test::CPAN::Meta::JSON -- Validation of the META.json file -- only when hosted on GitHub
MetaTests -- Validation of the META.yml file -- only when hosted on GitHub
PodSyntaxTests -- Checks pod syntax
PodCoverageTests -- Checks pod coverage
LinkCheck -- Checks pod links
Test::Synopsis -- Checks the pod synopsis
Specifies the test you don't want to be run. Can bu used more than once to disable multiple tests.
Default: none (i.e., run all default and "additional_test" tests).
Defines the highest minimum version of perl you intend to require. This is passed to Test::MinimumVersion, which generates a minimum-version.t test that'll warn you if you accidentally used features from a higher version of perl than you wanted. (Having a lower required version of perl is okay.)
Default: 5.006
5.006
If this is set to true, SurgicalPodWeaver is used instead of the standard PodWeaver plugin. SurgicalPodWeaver only munges files that contain either a # ABSTRACT or a # Dist::Zilla: +PodWeaver line.
# ABSTRACT
# Dist::Zilla: +PodWeaver
Specifies the configuration for Pod::Weaver.
Default: @Author::HAYOBAAN.
@Author::HAYOBAAN
Specifies the format for tagging a release (see Git::Tag for details).
Default: v%v%t
v%v%t
Specifies the regexp for versions (see Git::NextVersion for details).
Default: ^v?([\d.]+(?:_\d+)?)(?:-TRIAL)?$
^v?([\d.]+(?:_\d+)?)(?:-TRIAL)?$
Note: Only used in case of git version controlled repositories (AutoVersion is used in case of non-git version controlled repositories).
Please report any bugs or feature requests on the bugtracker website.
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
I took inspiration from many people's Dist::Zilla and Pod::Weaver PluginBundles. Most notably from:
David Golden DAGOLDEN
Mike Doherty DOHERTY
Hayo Baan <info@hayobaan.com>
This software is copyright (c) 2014 by Hayo Baan.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Dist::Zilla::PluginBundle::Author::HAYOBAAN, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Dist::Zilla::PluginBundle::Author::HAYOBAAN
CPAN shell
perl -MCPAN -e shell install Dist::Zilla::PluginBundle::Author::HAYOBAAN
For more information on module installation, please visit the detailed CPAN module installation guide.