Skip to content

autarch/Dist-Zilla-PluginBundle-DROLSKY

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME

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

VERSION

version 1.24

SYNOPSIS

name    = My-Module
author  = Dave Rolsky <[email protected]>
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.138
Perl::Critic::Moose = 1.05
Perl::Tidy          = 20210111
Pod::Checker        = 1.74
Pod::Tidy           = 0.10

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

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 [email protected], or use the button at https://houseabsolute.com/foss-donations/.

AUTHOR

Dave Rolsky [email protected]

CONTRIBUTORS

COPYRIGHT AND LICENSE

This software is Copyright (c) 2013 - 2025 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.

About

DROLSKY's plugin bundle

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 3

  •  
  •  
  •