NAME
Dist::Zilla::PluginBundle::Author::HAYOBAAN - Hayo Baan's Dist::Zilla configuration
VERSION
version 0.004
DESCRIPTION
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:
Dist::Zilla::Plugin::AutoVersion
Dist::Zilla::Plugin::Git::NextVersion
Dist::Zilla::Plugin::OurPkgVersion
Dist::Zilla::Plugin::GatherDir
Dist::Zilla::Plugin::Git::GatherDir
Dist::Zilla::Plugin::PruneCruft
Dist::Zilla::Plugin::ManifestSkip
Dist::Zilla::Plugin::PodWeaver
Dist::Zilla::Plugin::ReadmeAnyFromPod / Text
Dist::Zilla::Plugin::ReadmeAnyFromPod / Markdown
Dist::Zilla::Plugin::License
Dist::Zilla::Plugin::InstallGuide
Dist::Zilla::Plugin::MinimumPerl
Dist::Zilla::Plugin::AutoPrereqs
Dist::Zilla::Plugin::MetaNoIndex
Dist::Zilla::Plugin::GitHub::Meta
Dist::Zilla::Plugin::MetaJSON
Dist::Zilla::Plugin::MetaYAML
Dist::Zilla::Plugin::MetaProvides::Package
Dist::Zilla::Plugin::MetaProvides::Class
Dist::Zilla::Plugin::ExecDir
Dist::Zilla::Plugin::ShareDir
Dist::Zilla::Plugin::MakeMaker
Dist::Zilla::Plugin::ModuleBuild
Dist::Zilla::Plugin::Manifest
Dist::Zilla::Plugin::CopyFilesFromBuild
Dist::Zilla::Plugin::Run::AfterBuild
Dist::Zilla::Plugin::CheckChangesHasContent
Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch
Dist::Zilla::Plugin::Git::Check
Dist::Zilla::Plugin::CheckMetaResources
Dist::Zilla::Plugin::CheckPrereqsIndexed
Dist::Zilla::Plugin::Test::Compile
Dist::Zilla::Plugin::Test::Perl::Critic
Dist::Zilla::Plugin::Test::EOL
Dist::Zilla::Plugin::Test::NoTabs
Dist::Zilla::Plugin::Test::Version
Dist::Zilla::Plugin::Test::MinimumVersion
Dist::Zilla::Plugin::MojibakeTests
Dist::Zilla::Plugin::Test::Kwalitee
Dist::Zilla::Plugin::Test::Portability
Dist::Zilla::Plugin::Test::UnusedVars
Dist::Zilla::Plugin::Test::CPAN::Changes
Dist::Zilla::Plugin::Test::DistManifest
Dist::Zilla::Plugin::Test::CPAN::Meta::JSON
Dist::Zilla::Plugin::MetaTests
Dist::Zilla::Plugin::PodSyntaxTests
Dist::Zilla::Plugin::PodCoverageTests
Dist::Zilla::Plugin::Test::Pod::LinkCheck
Dist::Zilla::Plugin::Test::Synopsis
Dist::Zilla::Plugin::TestRelease
Dist::Zilla::Plugin::RunExtraTests
Dist::Zilla::Plugin::ConfirmRelease
Dist::Zilla::Plugin::UploadToCPAN
Dist::Zilla::Plugin::SchwartzRatio
Dist::Zilla::Plugin::FakeRelease
Dist::Zilla::Plugin::NextRelease
Dist::Zilla::Plugin::Git::Commit
Dist::Zilla::Plugin::Git::Tag
Dist::Zilla::Plugin::Git::Push
Dist::Zilla::Plugin::GitHub::Update
Dist::Zilla::Plugin::Run::AfterRelease
Dist::Zilla::Plugin::Clean
USAGE
# In dist.ini
[@Author::HAYOBAAN]
OPTIONS
The following additional command-line option is available for the dzil
command.
--local_release_only
Adding this option to the dzil release
command will:
inhibit uploading to CPAN (if applicable),
inhibit git checking, tagging, commiting, and pushing,
inhibit Changes file checking
keep the version number the same.
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 the new version number.
--local
, --local_only
, and --local_release
are synonyms for this option.
ATTRIBUTES
is_cpan
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.
is_github_hosted
Specifies that the distribution's repository is hosted on GitHub.
Default: false (note: setting is_cpan
enforces is_github_hosted
to true)
git_remote
Specifies where to push the distribution on GitHub. Can be used multiple times to upload to multiple branches.
Default: origin
no_git
Specifies that the distribution is not under git version control.
Default: false (note: setting is_github_hosted
enforces this setting to false)
local_release_only
Setting this to true will:
inhibit uploading to CPAN (if applicable),
inhibit git checking, tagging, commiting, and pushing,
keep the version number the same,
when releasing the distribution.
local
, local_only
, and local_release
are synonyms for this setting.
run_after_build
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%n
the name of the distribution%p
path separator ('/' on Unix, '\\' on Win32... useful for cross-platform dist.ini files)%v
the version of the distribution%t
-TRIAL if the release is a trial release, otherwise the empty string%x
full path to the current perl interpreter (like $^X but from Config)
Default: nothing
run_after_release
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
Default: cpanm './%d'
Examples:
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
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 correctlyTest::Perl::Critic
-- Checks Perl source code for best-practicesTest::EOL
-- Checks line endingsTest::NoTabs
-- Checks for the use of tabsTest::Version
-- Checks to see if each module has the correct version setTest::MinimumVersion
-- Checks the minimum perl version, usingmax_target_perl
MojibakeTests
-- Checks source encodingTest::Kwalitee
-- Checks the KwaliteeTest::Portability
-- Checks portability of codeTest::UnusedVars
-- Checks for unused variablesTest::CPAN::Changes
-- Validation of the Changes fileTest::DistManifest
-- Validation of the MANIFEST fileTest::CPAN::Meta::JSON
-- Validation of the META.json file -- only when hosted on GitHubMetaTests
-- Validation of the META.yml file -- only when hosted on GitHubPodSyntaxTests
-- Checks pod syntaxPodCoverageTests
-- Checks pod coverageTest::Pod::LinkCheck
-- Checks pod linksTest::Synopsis
-- Checks the pod synopsis
disable_test
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).
max_target_perl
Defines the highest minimum version of perl you intend to require. This is passed to Dist::Zilla::Plugin::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.10
surgical
If this is set to true, SurgicalPodWeaver is used instead of the standard PodWeaver plugin. SurgicalPodWeaver only munges files that contain either a # ABSTRAC
or a # Dist::Zilla: +PodWeaver
line.
Default: false
weaver_config
Specifies the configuration for Pod::Weaver.
Default: @Author::HAYOBAAN
.
tag_format
Specifies the format for tagging a release (see Git::Tag for details).
Default: v%v%t
version_regexp
Specifies the regexp for versions (see Git::NextVersion for details).
Default: ^v?([\d.]+)(?:-TRIAL)?$
Note: only used in case of git version controlled repositories (AutoVersion is used in case of non-git version controlled repositories).
BUGS
Please report any bugs or feature requests on the bugtracker website https://github.com/HayoBaan/Dist-Zilla-PluginBundle-Author-HAYOBAAN/issues
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.
STABILITY
This module is still under development.
CREDITS
I took inspiration from many people's Dist::Zilla and Pod::Weaver PluginBundles. Most notably from:
AUTHOR
Hayo Baan <info@hayobaan.nl>
COPYRIGHT AND LICENSE
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.