NAME

Dist::Zilla::PluginBundle::DROLSKY - DROLSKY's plugin bundle

VERSION

version 1.15

SYNOPSIS

name    = My-Module
author  = Dave Rolsky <autarch@urth.org>
license = Artistic_2_0
copyright_holder = Dave Rolsky

[@DROLSKY]
dist = My-Module
; Default is DROLSKY::MakeMaker - or set it to ModuleBuild
make_tool = DROLSKY::MakeMaker
; These files won't be added to tarball
exclude_files = ...
; Default is DROLSKY
authority = DROLSKY
; Used to do things like add the PPPort plugin - determined automatically but can be overridden
has_xs = ...
; Passed to AutoPrereqs - can be repeated
prereqs_skip = ...
; Passed to Test::Pod::Coverage::Configurable if set
pod_coverage_also_private = ...
; Passed to Test::Pod::Coverage::Configurable if set - can be repeated
pod_coverage_class = ...
; Passed to Test::Pod::Coverage::Configurable if set - can be repeated
pod_coverage_skip = ...
; Passed to Test::Pod::Coverage::Configurable if set - can be repeated
pod_coverage_trustme = ...
; For pod spelling test - can be repeated
stopwords = ...
; Can also put them in a separate file
stopwords_file = ..
; Defaults to false
use_github_homepage = 0

DESCRIPTION

This is the Dist::Zilla plugin bundle I use for my distributions. Don't use this directly for your own distributions, but you may find it useful as a source of ideas for building your own bundle.

This bundle uses Dist::Zilla::Role::PluginBundle::PluginRemover and Dist::Zilla::Role::PluginBundle::Config::Slicer so I can remove or configure any plugin as needed.

This is more or less equivalent to the following dist.ini:

; updates the dist.ini to include an authordep on this bundle at its
; current $VERSION.
[DROLSKY::BundleAuthordep]

; Picks one of these - defaults to DROLSKY::MakeMaker
[DROLSKY::MakeMaker]
[ModuleBuild]

[Git::GatherDir]
; Both are configured by setting exclude_files for the bundle. Simple
; values like "./foo/bar.pl" are treated as filenames, others like
; "*\.jnk$" are treated as a regex.
exclude_filenames = ...
exclude_match     = ...

[ManifestSkip]
[License]
[ExecDir]
[ShareDir]
[Manifest]
[CheckVersionIncrement]
[TestRelease]
[ConfirmRelease]
[UploadToCPAN]
[VersionFromMainModule]

[Authority]
; Configured by setting authority for the bundle
authority  = ...
do_munging = 0

[AutoPrereqs]
; Configured by setting skip_prereqs for the bundle
skip = ...

[CopyFilesFromBuild]
copy = Build.PL
copy = CODE_OF_CONDUCT.md
copy = CONTRIBUTING.md
copy = LICENSE
copy = Makefile.PL
copy = README.md
copy = cpanfile
copy = ppport.h

[GitHub::Meta]
bugs = 1
; Configured by setting use_github_homepage for the bundle
homepage = 0

[MetaResources]
homepage = https://metacpan.org/release/My-Module
bugtracker.web  = https://github.com/...

[MetaProvides::Pckage]
meta_noindex = 1

[Meta::Contributors]
[Meta::Config]
[MetaJSON]
[MetaYAML]

[NextRelease]
; Width is configured by setting next_release_width for the bundle
format = %-8v %{yyyy-MM-dd}d%{ (TRIAL RELEASE)}T

; Scans the test files for use of Test2 and picks either this:
[Prereqs / Test::More with Test2]
-phase = test
-type  = requires
Test::More = 1.302015

; or, if the distro doesn't use Test2:
[Prereqs / Test::More with subtest]
-phase = test
-type  = requires
Test::More = 0.96

[Prereqs / Modules for use with precious]
-phase = develop
-type  = requires
Perl::Critic                      = 1.126
Perl::Tidy                        = 20160302

[Prereqs / Test::Version which fixes https://github.com/plicease/Test-Version/issues/7]
-phase = develop
-type  = requires
Test::Version = 2.05

[PromptIfStale]
phase  = build
module = Dist::Zilla::PluginBundle::DROLSKY

[PromptIfStale]
phase = release
check_all_plugins = 1
check_all_prereqs = 1
check_authordeps  = 1
skip = Dist::Zilla::Plugin::DROLSKY::BundleAuthordep
skip = Dist::Zilla::Plugin::DROLSKY::Contributors
skip = Dist::Zilla::Plugin::DROLSKY::Git::CheckFor::CorrectBranch
skip = Dist::Zilla::Plugin::DROLSKY::License
skip = Dist::Zilla::Plugin::DROLSKY::MakeMaker
skip = Dist::Zilla::Plugin::DROLSKY::PerlLinterConfigFiles
skip = Dist::Zilla::Plugin::DROLSKY::Precious
skip = Dist::Zilla::Plugin::DROLSKY::Role::CoreCounter
skip = Dist::Zilla::Plugin::DROLSKY::RunExtraTests
skip = Dist::Zilla::Plugin::DROLSKY::Test::Precious
skip = Dist::Zilla::Plugin::DROLSKY::WeaverConfig
skip = Pod::Weaver::PluginBundle::DROLSKY

[Test::Pod::Coverage::Configurable]
; Configured by setting pod_coverage_class for the bundle
class = ...
; Configured by setting pod_coverage_skip for the bundle
skip = ...
; Configured by setting pod_coverage_trustme for the bundle
trustme = ...

[Test::PodSpelling]
; Configured by setting stopwords and/or stopwords_file for the bundle
stopwods = ...

[PodSyntaxTests]

[DROLSKY::RunExtraTests]
[DROLSKY::Test::Precious]
[MojibakeTests]
[Test::CleanNamespaces]
[Test::CPAN::Changes]
[Test::CPAN::Meta::JSON]
[Test::EOL]
[Test::NoTabs]
[Test::Portability]
[Test::Synopsis]

[Test::Compile]
xt_mode = 1

[Test::ReportPrereqs]
verify_prereqs = 1

[Test::Version]
is_strict = 1

; Generates/updates a .mailmap file
[DROLSKY::Contributors]
[Git::Contributors]

[SurgicalPodWeaver]
; See Pod::Weaver::PluginBundle::DROLSKY in this same distro for more info
config_plugin = @DROLSKY

; Nasty hack so I can pass config from the dist.ini to the Pod::Weaver
; bundle. Currently used so I can set
; "DROLSKY::WeaverConfig.include_donations_pod = 0" in a dist.ini file.
[DROLSKY::WeaverConfig]

[ReadmeAnyFromPod / README.md in build]
type     = markdown
filename = README.md
location = build
phase    = build

[GenerateFile::FromShareDir / Generate CONTRIBUTING.md]
-dist     = Dist-Zilla-PluginBundle-DROLSKY
-filename = CONTRIBUTING.md
; This is determined by looking through the distro for .xs files.
has_xs    = ...

[GenerateFile::FromShareDir / Generate CODE_OF_CONDUCT.md]
-dist     = Dist-Zilla-PluginBundle-DROLSKY
-filename = CODE_OF_CONDUCT.md

[InstallGuide]
[CPANFile]

; Only added if the distro has .xs files
[PPPort]

; Like the default License plugin except that it defaults to Artistic 2.0.
; Also, if the copyright_year for the bundle is not this year, it passes
; something like "2014-2016" to Software::License.
[DROLSKY::License]

[CheckPrereqsIndexed]
[EnsureChangesHasContent]

; Just like Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch except that
; it allows releases from any branch for TRIAL
; releases. https://github.com/RsrchBoy/dist-zilla-pluginbundle-git-checkfor/issues/24
[DROLSKY::Git::CheckFor::CorrectBranch]

[Git::CheckFor::MergeConflicts]

; Generates/updates perlcriticrc, and perltidyrc
[DROLSKY::PerlLinterConfigFiles]
; Generates/updates precious.toml
[DROLSKY::Precious]
; Generates some dev tool helper scripts when using precious.
[DROLSKY::DevTools]

; The allow_dirty list is basically all of the generated or munged files
; in the distro, including:
;     Build.PL
;     CODE_OF_CONDUCT.md
;     CONTRIBUTING.md
;     Changes
;     LICENSE
;     Makefile.PL
;     README.md
;     cpanfile
;     ppport.h
;     precious.toml
[Git::Check]
allow_dirty = ...

[Git::Commit / Commit generated files]
allow_dirty = ...

[Git::Tag]
[Git::Push]

[BumpVersionAfterRelease]

[Git::Commit / Commit version bump]
allow_dirty_match = .+
commit_msg        = Bump version after release

[Git::Push / Push version bump]

SUPPORT

Bugs may be submitted at https://github.com/autarch/Dist-Zilla-PluginBundle-DROLSKY/issues.

I am also usually active on IRC as 'autarch' on irc://irc.perl.org.

SOURCE

The source code repository for Dist-Zilla-PluginBundle-DROLSKY can be found at https://github.com/autarch/Dist-Zilla-PluginBundle-DROLSKY.

DONATIONS

If you'd like to thank me for the work I've done on this module, please consider making a "donation" to me via PayPal. I spend a lot of free time creating free software, and would appreciate any support you'd care to offer.

Please note that I am not suggesting that you must do this in order for me to continue working on this particular software. I will continue to do so, inasmuch as I have in the past, for as long as it interests me.

Similarly, a donation made in this way will probably not make me work on this software much more, unless I get so many donations that I can consider working on free software full time (let's all have a chuckle at that together).

To donate, log into PayPal and send money to autarch@urth.org, or use the button at https://www.urth.org/fs-donation.html.

AUTHOR

Dave Rolsky <autarch@urth.org>

CONTRIBUTOR

Mark Fowler <mark@twoshortplanks.com>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2013 - 2021 by Dave Rolsky.

This is free software, licensed under:

The Artistic License 2.0 (GPL Compatible)

The full text of the license can be found in the LICENSE file included with this distribution.