> dzil

Plugin Catalog - core

These plugins are included with the core Dist::Zilla distribution.

AutoPrereqsby JQUELIN(also tagged: prereqs)

This plugin will attempt to determine your distribution's prerequisites automatically by scanning your files using Perl::PrereqScanner.

AutoVersionby RJBS(also tagged: version-provider)

This provides a version number derived from the current date. You should consider using a newer plugin like Git::NextVersion instead, because the versions generated by this plugin are hard for people to read and compare.

CPANFileby RJBS(also tagged: file-gatherer, metadata)

Creates a cpanfile listing your distribution's prerequisites.

ConfirmReleaseby RJBS(also tagged: before-release)

This plugin displays the name of the distribution tarball about to be released, and asks you if you really mean to release it.

DistINIby RJBS(also tagged: minting)

This plugin produces a bare-bones dist.ini file in a new dist. You probably want to use a dist.ini template along with GatherDir::Template instead of this.

ExecDirby RJBS(also tagged: install, scripts)

Use this plugin if your distribution includes scripts that should be installed along with your modules.

ExtraTestsby RJBS(also tagged: file-munger, tests, tests-extra)

This plugin moves tests from the xt/ directory to the t/ directory and rewrites them to skip unless the appropriate environment variable is set during testing.

FakeReleaseby RJBS(also tagged: releaser)

This does nothing but log a message saying the dist was fake released. It's primarily used for testing Dist::Zilla plugins, but it can also be used by authors who don't want to use any of the other releasers.

FileFinder::ByNameby CJM(also tagged: file-finder)

This selects files by matching their pathnames.

FileFinder::Filterby CJM(also tagged: file-finder)

This takes the results from another FileFinder and filters out unwanted files by matching their pathnames.

GatherDirby RJBS(also tagged: file-gatherer)

This gathers up all the files in a directory (unless they match its skip regex).

GatherDir::Templateby RJBS(also tagged: file-gatherer, minting, template)

This subclass of GatherDir feeds the gathered files through Text::Template.

It is meant to be used when minting dists with dzil new, but could be used in building existing dists, too.

GenerateFileby RJBS(also tagged: file-gatherer, template)

This plugin allows you to create a short file directly from its config, which may include Text::Template processing.

InlineFilesby RJBS(also tagged: file-gatherer, for-subclassing)

This plugin exists only to be a base class for plugins that want to generate files.

Licenseby RJBS(also tagged: documentation, file-gatherer, metadata)

This plugin adds a LICENSE file containing the full text of the distribution's license, as produced by the fulltext method of the dist's Software::License object.

MakeMakerby RJBS(also tagged: install, tests)

This plugin generates a standard Makefile.PL for your distribution. It also includes MakeMaker::Runner to build your distribution and run its tests.

MakeMaker::Runnerby RJBS(also tagged: tests)

This is the part of the MakeMaker plugin that knows how to build your distribution and run its tests using Makefile.PL. You wouldn't normally include it directly.

Manifestby RJBS(also tagged: file-gatherer, manifest, metadata)

This plugin creates a MANIFEST file that lists all the files gathered by Dist::Zilla.

ManifestSkipby RJBS(also tagged: file-pruner, manifest)

This plugin prunes files using the rules from a MANIFEST.SKIP file in the same format that MakeMaker and Module::Build use.

This plugin is for people who like to keep the list of pruned files in a separate file. If you prefer to keep that in dist.ini, use PruneFiles.

MetaConfigby RJBS(also tagged: metadata)

This plugin adds a top-level x_Dist_Zilla key to your distribution's metadata that records the Dist::Zilla version used to build your distribution as well as all the plugins used.

MetaJSONby RJBS(also tagged: file-gatherer, metadata)

This plugin creates a META.json file with your distribution's metadata.

MetaNoIndexby RJBS(also tagged: metadata)

This plugin allows you to prevent PAUSE/CPAN from indexing things you don't want indexed. This is useful if you build test classes or example classes that are used for those purposes only, and are not part of the distribution. It does this by adding a no_index block to your META.json (or META.yml) file in your distribution.

MetaResourcesby RJBS(also tagged: metadata)

This plugin allows you to add entries to the resources key of your distribution's metadata.

MetaTestsby RJBS(also tagged: file-gatherer, tests, tests-extra)

This adds xt/release/meta-yaml.t to your distribution, which is a standard Test::CPAN::Meta test.

MetaYAMLby RJBS(also tagged: file-gatherer, metadata)

This plugin creates a META.yml file with your distribution's metadata.

ModuleBuildby RJBS(also tagged: file-gatherer, install, tests)

This plugin generates a standard Build.PL for your distribution. It also knows how to build your distribution and run its tests using Build.PL.

ModuleShareDirsby RJBS(also tagged: install)

This plugin lets you install a directory's contents as module-level shared data files (to use with module_file from File::ShareDir).

NextReleaseby RJBS(also tagged: after-release, changelog, file-munger)

This plugin automatically inserts the version number and release date into your Changes when you make a release.

PkgDistby RJBS(also tagged: file-munger, metadata)

Insert a $DIST variable with the name of the distribution after each package statement in the form

    {
      $Your::Package::Submodule::DIST = 'Your-Package';
    }

The $DIST variable is not an official standard, and is not currently used by the module toolchain.

PkgVersionby RJBS(also tagged: file-munger, version, version-insert)

Insert a version number after each package statement in the form

    {
      $Your::Package::VERSION = '1.234';
    }

PodCoverageTestsby RJBS(also tagged: file-gatherer, tests, tests-extra)

This adds xt/release/pod-coverage.t to your distribution, which is a standard Test::Pod::Coverage test using Pod::Coverage::TrustPod.

PodSyntaxTestsby RJBS(also tagged: file-gatherer, tests, tests-extra)

This adds xt/release/pod-syntax.t to your distribution, which is a standard Test::Pod test.

PodVersionby RJBS(also tagged: documentation, file-munger, version-insert)

This plugin adds a =head1 VERSION section to most Perl files in the distribution, indicating the version of the dist being built. This section is added after =head1 NAME. If there is no such section, the version section will not be added.

People using Pod::Weaver or Pod::Loom won't need this plugin.

Prereqsby RJBS(also tagged: prereqs)

This plugin allows you to declare your distribution's prerequisites in your dist.ini.

PruneCruftby RJBS(also tagged: file-pruner)

This plugin removes files commonly added by the toolchain that should not be included in your distribution. It does not remove things like backup files created by your text editor.

PruneFilesby RJBS(also tagged: file-pruner)

This plugin allows you to explicitly prune some files from your distribution. You can either specify the exact set of files (with the "filenames" parameter) or provide the regular expressions to check (using "match").

This plugin is for people who like to keep the list of pruned files in dist.ini. If you prefer to use a separate file for that, use ManifestSkip.

Readmeby RJBS(also tagged: documentation, file-gatherer)

This plugin adds a very simple README file to the distribution, citing the dist's name, version, abstract, and license. It may be more useful or informative in the future.

RemovePrereqsby RJBS(also tagged: prereqs)

This will remove any mention of specified modules from your distribution's prerequisites. This is useful for eliminating incorrectly detected prereqs.

ShareDirby RJBS

This plugin lets you install a directory's contents as dist-level shared data files (to use with dist_file from File::ShareDir).

TemplateModuleby RJBS(also tagged: minting, template)

This is a ModuleMaker used for creating new Perl modules files when minting a new dist with dzil new.

TestReleaseby CJM(also tagged: before-release, tests)

This plugin extracts the tarball that's about to be released and ensures that it passes its tests. If any tests fail it aborts the release. You should be using this plugin. (It's included in @Basic.)

UploadToCPANby RJBS(also tagged: releaser)

This plugin will upload your distribution to the CPAN.

You can fork and improve this documentation on GitHub!