Dist::Zilla::PluginBundle::Author::Plicease
Dist::Zilla plugin bundle used by Plicease
SYNOPSIS
In your dist.ini:
[@Author::Plicease]
DESCRIPTION
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 = xt/release/changes.t
exclude_filename = xt/release/fixme.t
exclude_match = ^_build/
[PruneCruft]
[ManifestSkip]
[MetaYAML]
[License]
[ExecDir]
[ShareDir]
[Author::Plicease::MakeMaker]
[Manifest]
[TestRelease]
[PodWeaver]
[NextRelease]
format = %-9v %{yyyy-MM-dd HH:mm:ss Z}d
[AutoPrereqs]
[OurPkgVersion]
no_critic = 1
underscore_eval_version = 1
[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]
[MinimumPerl]
[Author::Plicease::SpecialPrereqs]
[ConfirmRelease]
[Author::Plicease::ReadmeAnyFromPod]
filename = README
location = build
type = text
[Author::Plicease::ReadmeAnyFromPod / ReadMePodInRoot]
filename = README.md
location = root
type = gfm
[Author::Plicease::NoUnsafeInc]
[Libarchive]
[Author::Plicease::Cleaner]
OPTIONS
installer
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
.
readme_from
Which file to pull from for the Readme (must be POD format). If not specified, then the main module will be used.
release_tests
If set to true, then include release tests when building.
release_tests_skip
Passed into the Author::Plicease::Tests
if release_tests
is true.
mb_class
if builder = ModuleBuild, this is the mb_class passed into the [ModuleBuild] plugin.
github_repo
Set the GitHub repo name to something other than the dist name.
github_user
Set the GitHub user name.
copy_mb
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.
copy_mm
Same as copy_mb
but for EUMM.
allow_dirty
Additional dirty allowed file passed to @Git.
irc
IRC discussion URL for x_IRC meta (maybe changed to non x_ meta if/when IRC becomes formally supported).
version_plugin
Specify an alternative to OurPkgVersion for updating the versions in .pm files.
perl
Specify a minimum Perl version. If not specified it will be detected.
win32
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.
SEE ALSO
- Dist::Zilla
- Dist::Zilla::Plugin::Author::Plicease::SpecialPrereqs
- Dist::Zilla::Plugin::Author::Plicease::Tests
- Dist::Zilla::Plugin::Author::Plicease::Thanks
- Dist::Zilla::Plugin::Author::Plicease::Upload
AUTHOR
Graham Ollis plicease@cpan.org
COPYRIGHT AND LICENSE
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.