NAME
Dist::Zilla::PluginBundle::NIGELM - Build your distributions like I do
VERSION
version 0.26
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]
[InlineFiles]
## [ReportVersions]
[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 = @MARCEL
[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 @MARCEL
, which loads in Pod::Weaver::PluginBundle::MARCEL.
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;
INSTALLATION
See perlmodinstall for information and options on installing Perl modules.
BUGS AND LIMITATIONS
You can make new bug reports, and view existing ones, through the web interface at http://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-PluginBundle-NIGELM.
AVAILABILITY
The project homepage is https://metacpan.org/release/Dist-Zilla-PluginBundle-NIGELM.
The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit http://www.perl.com/CPAN/ to find a CPAN site near you, or see https://metacpan.org/module/Dist::Zilla::PluginBundle::NIGELM/.
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.