Dist::Zilla::PluginBundle::NIGELM - Build your distributions like I do
version 0.27
In your dist.ini:
[@NIGELM] dist = Distribution-Name repository_at = github
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]
The distribution name, as given in the main Dist::Zilla configuration section (the name parameter). Unfortunately this cannot be extracted from the main config.
name
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.
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
no_cpan
NO_CPAN
The authority for this distribution - defaults to cpan:NIGELM
cpan:NIGELM
Determine Prerequisites automatically - defaults to1 (set).
Prerequisites to skip if auto_prereqs is set -- a string of module names.
auto_prereqs
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.
Task
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.
config_plugin
@DAGOLDEN
The URL of the bug tracker. Defaults to the CPAN RT queue for the distribution name.
The email address of the bug tracker. Defaults to the CPAN RT email for the distribution name.
If set, disables the Pod Coverage Release Tests Dist::Zilla::Plugin::PodCoverageTests. Defaults to unset (tests enabled).
If set, disables the Pod Spelling Release Tests Dist::Zilla::Plugin::Test::PodSpelling. Defaults to unset (tests enabled).
If set, disables the Trailing Whitespace Release Tests Dist::Zilla::Plugin::Test::EOL. Defaults to unset (tests enabled).
If set, disables the Unused Variables Release Tests Dist::Zilla::Plugin::Test::UnusedVars. Defaults to unset (tests enabled).
If set, disables the Release Test that checks for hard tabs Dist::Zilla::Plugin::Test::NoTabs. Defaults to unset (tests enabled).
If set, this sets the fake_home option to. Dist::Zilla::Plugin::Test::Compile. Defaults to unset.
fake_home
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.
metacpan.org
search.cpan.org
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
git.moose.perl.org
catsvn - a svn repository on dev.catalyst.perl.org
dev.catalyst.perl.org
catagits - a git repository on git.shadowcat.co.uk in the Catalyst section
git.shadowcat.co.uk
p5sagit - a git repository on git.shadowcat.co.uk in the P5s section
dbsrgits - a git repository on git.shadowcat.co.uk in the DBIx::Class section
The repository URL. Normally set from repository_at.
The repository web view URL. Normally set from repository_at.
The repository type - either svn or git. Normally set from repository_at.
svn
git
The username on github. Defaults to nigelm which is unlikely to be useful for anyone else. Sorry!
nigelm
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.
release/%v
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.
dist.ini
README
README.pod
The correct git release branch for this distribution. Defaults to master. If a release is attempted from another branch the release will fail.
The Change Log file name. Defaults to Changes.
Changes
Directories to ignore - currently defaults to local and vendor (the directories used by carton to store required modules).
local
vendor
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.
ReadmeAnyFromPod
1;
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.
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
Nigel Metheringham <nigelm@cpan.org>
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.
To install Dist::Zilla::PluginBundle::NIGELM, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Dist::Zilla::PluginBundle::NIGELM
CPAN shell
perl -MCPAN -e shell install Dist::Zilla::PluginBundle::NIGELM
For more information on module installation, please visit the detailed CPAN module installation guide.