Dist::Zilla plugin bundle used by Plicease
In your dist.ini:
[@Author::Plicease]
This is a Dist::Zilla plugin bundle is a set of my personal preferences. You are probably reading this documentation not out of choice, but because you have to. Sorry.
-
Taking over one of my modules?
This dist comes with a script in
example/unbundle.pl
, which will extract the@Author::Plicease
portion of the dist.ini configuration so that you can edit it and make your own. I strongly encourage you to do this, as it will help you remove the preferences from the essential items.Alternatively, you can use the dzil bakeini command to convert a distribution using this (or any) bundle to an unbundled version.
-
Want to submit a patch for one of my modules?
Consider using
prove -l
on the test suite or adding the lib directory toPERL5LIB
. Save yourself the hassle of dealing with Dist::Zilla at all. If there is something wrong with one of the generated files (such asMakefile.PL
orBuild.PL
) consider opening a support ticket instead. Most other activities relating to the use of Dist::Zilla have to do with release testing and uploading to CPAN which is more my responsibility than yours. -
Really need to fix some aspect of the build process?
Or perhaps the module in question is using XS (hint: convert it to FFI instead!). If you really do need to fix some aspect of the build process then you probably do need to install Dist::Zilla and this bundle. If you are having trouble figuring out how it works, then try extracting the bundle using the
example/unbundle.pl
script or dzil bakeini technique mentioned above.
I've only uploaded this to CPAN to assist others who may be working on one of my dists. I don't expect anyone to use it for their own projects.
This plugin bundle is mostly equivalent to
[GatherDir]
exclude_filename = Makefile.PL
exclude_filename = Build.PL
exclude_filename = cpanfile
exclude_filename = xt/release/changes.t
exclude_filename = xt/release/fixme.t
exclude_match = ^_build/
[PruneCruft]
except = .travis.yml
[ManifestSkip]
[MetaYAML]
[License]
[ExecDir]
[ShareDir]
[Author::Plicease::MakeMaker]
[Manifest]
[TestRelease]
[PodWeaver]
[NextRelease]
format = %-9v %{yyyy-MM-dd HH:mm:ss Z}d
[AutoPrereqs]
[OurPkgVersion]
[MetaJSON]
[Git::Check]
allow_dirty = dist.ini
allow_dirty = Changes
allow_dirty = README.md
[Git::Commit]
allow_dirty = dist.ini
allow_dirty = Changes
allow_dirty = README.md
[Git::Tag]
[Git::Push]
[MetaResources]
bugtracker.web = https://github.com/plicease/My-Dist/issues
homepage = https://metacpan.org/pod/My::Dist
repository.type = git
repository.url = git://github.com/plicease/My-Dist.git
repository.web = https://github.com/plicease/My-Dist
[InstallGuide]
[ConfirmRelease]
[MinimumPerl]
[ReadmeAnyFromPod]
filename = README
location = build
type = text
[ReadmeAnyFromPod / ReadMePodInRoot]
filename = README.md
location = root
type = markdown
[Author::Plicease::MarkDownCleanup]
travis_status = 0
[Author::Plicease::SpecialPrereqs]
[CPANFile]
Some exceptions:
-
Perl 5.8.x, Perl 5.10.0
Dist::Zilla::Plugin::Git::*
does not support Perl 5.8.x or 5.10.0, so it is not a prereq there, and it isn't included in the bundle. As a result releasing from Perl 5.8 is not allowed. -
MSWin32
Installing Dist::Zilla::Plugin::Git::* on MSWin32 is a pain so it is also not a prereq on that platform, isn't used and as a result releasing from MSWin32 is not allowed.
Specify an alternative to [MakeMaker] ([ModuleBuild], [ModuleBuildTiny], or [ModuleBuildDatabase] for example).
If installer is Alien, then any options with the alien_ prefix will be passed to Alien (minus the alien_ prefix).
If installer is ModuleBuild, then any options with the mb_ prefix will be passed to ModuleBuild (including the mb_ prefix).
If you have a inc/My/ModuleBuild.pm
file in your dist, then this plugin bundle
will assume installer
is ModuleBuild
and mb_class
= My::ModuleBuild
.
Which file to pull from for the Readme (must be POD format). If not specified, then the main module will be used.
If set to true, then include release tests when building.
Passed into the Author::Plicease::Tests
if release_tests
is true.
if set to true, then include a link to the travis build page in the readme.
if set to a appveyor id, then include a link to the appveyor build page in the readme.
if builder = ModuleBuild, this is the mb_class passed into the [ModuleBuild] plugin.
Set the GitHub repo name to something other than the dist name.
Set the GitHub user name.
Copy Build.PL and cpanfile from the build into the git repository. Exclude them from gather.
This allows other developers to use the dist from the git checkout, without needing to install Dist::Zilla and Dist::Zilla::PluginBundle::Author::Plicease.
Additional dirty allowed file passed to @Git.
IRC discussion URL for x_IRC meta (maybe changed to non x_ meta if/when IRC becomes formally supported).
Specify an alternative to OurPkgVersion for updating the versions in .pm files.
Specify a minimum Perl version. If not specified it will be detected.
- Dist::Zilla
- Dist::Zilla::Plugin::Author::Plicease::MarkDownCleanup
- Dist::Zilla::Plugin::Author::Plicease::SpecialPrereqs
- Dist::Zilla::Plugin::Author::Plicease::Tests
- Dist::Zilla::Plugin::Author::Plicease::Thanks
- Dist::Zilla::Plugin::Author::Plicease::Upload
Graham Ollis plicease@cpan.org
This software is copyright (c) 2012 by Graham Ollis.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.