🌻 📖 Dist::Zilla::PluginBundle::Author::Plicease


Dist::Zilla::PluginBundle::Author::Plicease - Dist::Zilla plugin bundle used by Plicease


version 2.75


In your dist.ini:



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 to PERL5LIB. Save yourself the hassle of dealing with Dist::Zilla at all. If there is something wrong with one of the generated files (such as Makefile.PL or Build.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

 exclude_filename = Makefile.PL
 exclude_filename = Build.PL
 exclude_filename = xt/release/changes.t
 exclude_filename = xt/release/fixme.t
 exclude_match = ^_build/
 format = %-9v %{yyyy-MM-dd HH:mm:ss Z}d
 no_critic = 1
 underscore_eval_version = 1
 allow_dirty = dist.ini
 allow_dirty = Changes
 allow_dirty = README.md
 allow_dirty = dist.ini
 allow_dirty = Changes
 allow_dirty = README.md
 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
 filename = README
 location = build
 type = text
 [Author::Plicease::ReadmeAnyFromPod / ReadMePodInRoot]
 filename = README.md
 location = root
 type = gfm



Specify an alternative to [MakeMaker] ([ModuleBuild], [ModuleBuildTiny], or [ModuleBuildDatabase] for example).

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 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 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.


Same as copy_mb but for EUMM.


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.


If set to true, then the dist MUST be released on MSWin32. This is useful for Win32:: type dists that aren't testable on Unixy platforms.

If set to false, then the dist MUST NOT be released on MSWin32. This is a personal preference; I prefer not to release on non-Unixy platforms.




Graham Ollis <plicease@cpan.org>


This software is copyright (c) 2012-2022 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.