NAME
Dist::Zilla::PluginBundle::NIGELM - Build your distributions like I do
VERSION
version 0.27
SYNOPSIS
In your dist.ini:
[@NIGELM]
dist = Distribution-Name
repository_at = github
DESCRIPTION
This is the Dist::Zilla configuration I use to build my distributions. It was originally based on the @FLORA bundle but additionally pulls in ideas from @MARCEL bundle.
It is roughly equivalent to:
[Git::NextVersion]
first_version = 0.01,
version_regexp = release/(\d+.\d+)
[Git::Check]
[Git::CheckFor::CorrectBranch]
release_branch = master
# [Git::CheckFor::Fixups]
[Git::CheckFor::MergeConflicts]
[GatherDir]
[Test::Compile]
[Test::Perl::Critic]
[MetaTests]
[PodCoverageTests]
[PodSyntaxTests]
[Test::PodSpelling]
[Test::Kwalitee]
[Test::Portability]
[Test::Synopsis]
[Test::MinimumVersion]
[HasVersionTests]
[Test::DistManifest]
[Test::UnusedVars]
[Test::NoTabs]
[Test::EOL]
[Test::ReportPrereqs]
[InlineFiles]
[PruneCruft]
[PruneFiles]
filenames = dist.ini
[ManifestSkip]
[AutoPrereqs]
[MetaConfig]
[MetaProvides::Class]
[MetaProvides::Package]
[MetaResources]
[Authority]
authority = cpan:NIGELM
do_metadata = 1
locate_comment = 1
[ExtraTests]
[NextRelease]
[OurPkgVersion]
[PodWeaver]
config_plugin = @DAGOLDEN
[License]
[MakeMaker]
[MetaYAML]
[MetaJSON]
[ReadmeAnyFromPod]
type = pod
filename = README.pod
location = root
[InstallGuide]
[Manifest]
[Git::Commit]
[Git::Tag]
[Git::CommitBuild]
branch =
release_branch = cpan
[Git::Push]
[CheckChangeLog]
[UploadToCPAN] or [FakeRelease]
Required Parameters
dist
The distribution name, as given in the main Dist::Zilla configuration section (the name
parameter). Unfortunately this cannot be extracted from the main config.
Tweakables - Major Configuration
build_process
Overrides build process system - basically this causes the standard Module Build generation to be suppressed and replaced by a call to a module in the local inc directory specified by this parameter instead.
no_cpan
If no_cpan
or the environment variable NO_CPAN
is set, then the upload to CPAN is suppressed. This basically swaps Dist::Zilla::Plugin::FakeRelease in place of Dist::Zilla::Plugin::UploadToCPAN
Tweakables
authority
The authority for this distribution - defaults to cpan:NIGELM
auto_prereqs
Determine Prerequisites automatically - defaults to1 (set).
skip_prereqs
Prerequisites to skip if auto_prereqs
is set -- a string of module names.
is_task
Is this a Task rather than a Module. Determines whether Dist::Zilla::Plugin::TaskWeaver or Dist::Zilla::Plugin::PodWeaver are used. Defaults to 1 if the dist name starts with Task
, 0 otherwise.
weaver_config_plugin
This option is passed to the config_plugin
option of Dist::Zilla::Plugin::PodWeaver. It defaults to @DAGOLDEN
, which loads in Pod::Weaver::PluginBundle::DAGOLDEN.
Bug Tracker Information
bugtracker_url
The URL of the bug tracker. Defaults to the CPAN RT queue for the distribution name.
bugtracker_email
The email address of the bug tracker. Defaults to the CPAN RT email for the distribution name.
Tweaks - Modifying Tests Generated
disable_pod_coverage_tests
If set, disables the Pod Coverage Release Tests Dist::Zilla::Plugin::PodCoverageTests. Defaults to unset (tests enabled).
disable_pod_spelling_tests
If set, disables the Pod Spelling Release Tests Dist::Zilla::Plugin::Test::PodSpelling. Defaults to unset (tests enabled).
disable_trailing_whitespace_tests
If set, disables the Trailing Whitespace Release Tests Dist::Zilla::Plugin::Test::EOL. Defaults to unset (tests enabled).
disable_unused_vars_tests
If set, disables the Unused Variables Release Tests Dist::Zilla::Plugin::Test::UnusedVars. Defaults to unset (tests enabled).
disable_no_tabs_tests
If set, disables the Release Test that checks for hard tabs Dist::Zilla::Plugin::Test::NoTabs. Defaults to unset (tests enabled).
fake_home
If set, this sets the fake_home
option to. Dist::Zilla::Plugin::Test::Compile. Defaults to unset.
Repository, Source Control and Similar
homepage_url
The module homepage URL. Defaults to the URL of the module page on metacpan.org
. In previous versions this defaulted to the page on search.cpan.org
.
repository_at
Sets all of the following repository options based on a standard repository type. This is one of:-
github - a github repository, with a lower cased module name.
GitHub - a github repository, with an unmodified module name.
gitmo - a git repository on
git.moose.perl.org
catsvn - a svn repository on
dev.catalyst.perl.org
catagits - a git repository on
git.shadowcat.co.uk
in the Catalyst sectionp5sagit - a git repository on
git.shadowcat.co.uk
in the P5s sectiondbsrgits - a git repository on
git.shadowcat.co.uk
in the DBIx::Class section
repository
The repository URL. Normally set from repository_at.
repository_web
The repository web view URL. Normally set from repository_at.
repository_type
The repository type - either svn
or git
. Normally set from repository_at.
github_user
The username on github. Defaults to nigelm
which is unlikely to be useful for anyone else. Sorry!
tag_format / tag_message / version_regexp / git_autoversion
Overrides the Dist::Zilla::Plugin::Git bundle defaults for these. By default I use an unusual tag format of release/%v
for historical reasons. If git_autoversion is true (the default) then the version number is taken from git.
git_allow_dirty
A list of files that are allowed to be dirty by the Git plugins. Defaults to dist.ini
, the Change log file, README
and README.pod
.
git_release_branch
The correct git release branch for this distribution. Defaults to master. If a release is attempted from another branch the release will fail.
changelog
The Change Log file name. Defaults to Changes
.
prune_directories
Directories to ignore - currently defaults to local
and vendor
(the directories used by carton to store required modules).
BUGS
It appears this module, in particular the ReadmeAnyFromPod
plugin, exposes a bug with text wrapping in Pod::Simple::Text which can cause modules with long words (especially long names) to die during packaging.
1;
SUPPORT
Bugs / Feature Requests
Please report any bugs or feature requests through the issue tracker at http://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-PluginBundle-NIGELM. You will be notified automatically of any progress on your issue.
Source Code
This is open source software. The code repository is available for public review and contribution under the terms of the license.
https://github.com/nigelm/dist-zilla-pluginbundle-nigelm
git clone https://github.com/nigelm/dist-zilla-pluginbundle-nigelm.git
AUTHOR
Nigel Metheringham <nigelm@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2016 by Nigel Metheringham.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.