NAME Dist::Zilla::PluginBundle::Author::GTERMARS - Plugin Bundle for distributions built by GTERMARS SYNOPSIS In your dist.ini: [@Author::GTERMARS] DESCRIPTION This is the Dist::Zilla plugin bundle that GTERMARS uses to build his distributions. It is roughly equivalent to the following: ; ============================================================================== ; Ensure we're using the correct Author Bundle [PromptIfStale / Stale author bundle] phase = build module = Dist::Zilla::PluginBundle::Author::GTERMARS ; ============================================================================== ; Gather up all the files we need in our distribution [GatherDir] exclude_filename = dist.ini exclude_filename = cpanfile [ExecDir] dir = (-d 'script' ? 'script' : 'bin') [ShareDir] [PruneCruft] ; ============================================================================== ; Auto-generate files as needed... ; ... Makefile.PL [MakeMaker] ; ... MANIFEST [Manifest] ; ... LICENSE [License] ; ... README file(s) [ReadmeAnyFromPod / ReadmeGfmInRoot] [ReadmeAnyFromPod / ReadmeInDist] ; ... Dependencies [Prereqs::FromCPANfile] [Prereqs::AuthorDeps] ; ... META [MetaYAML] [MetaJSON] [MetaNoIndex] directory = examples directory = inc directory = local directory = share directory = t directory = xt ; ... Tests [MetaTests] [Test::ReportPrereqs] verify_prereqs = 1 [Test::NoTabs] [Test::EOL] [Test::EOF] [Test::MinimumVersion] [Test::Synopsis] [PodSyntaxTests] [PodCoverageTests] [Test::PodSpelling] [Test::NoBreakpoints] [Test::CleanNamespaces] [Test::DiagINC] [Test::UnusedVars] [Test::Kwalitee] [Test::Compile] fake_home = 1 filename = t/01-compile.t bail_out_on_fail = 1 ; ============================================================================== ; Additional Metadata [GitHub::Meta] [StaticInstall] mode = auto ; ============================================================================== ; Run "xt/" tests, but don't include them in the release. [RunExtraTests] default_jobs = 8 ; ============================================================================== ; Munge existing files [NextRelease] [RewriteVersion] ; ============================================================================== ; Release ; ... before release [PromptIfStale / Stale modules, release] phase = release check_all_plugins = 1 check_all_prereqs = 1 skip = ExtUtils::MakeMaker [Git::CheckFor::MergeConflicts] [Git::CheckFor::CorrectBranch] release_branch = main [EnsureChangesHasContent] [EnsureMinimumPerl] [Git::Check / initial check] [TestRelease] [Git::Check / after tests] [GitHub::RequireGreenBuild] [CheckIssues] ; ... do the release (unless "fake_release" is set) [ConfirmRelease] [UploadToCPAN] [GitHub::Update] ; ... after release; commit Changes and Tag release [Git::Commit / Commit Changes] commit_msg = Release v%V [Git::Tag] ; ... after release; save Release artifacts [Git::CommitBuild] branch = release_branch = releases release_message = Release - v%v ; ... after release; bump Version for next release [BumpVersionAfterRelease] [Git::Commit / Commit Version Bump] allow_dirty_match = ^lib/ commit_msg = Version bump. ; ... after release; push changes up to Git (unless "fake_release" is set) [Git::Push] push_to = origin push_to = origin releases:releases CUSTOMIZATION Our Configuration Options fake_release A boolean option, which when set, removes [ConfirmRelease], [UploadToCPAN], and [GitHub::Update], replacing them with [FakeRelease]. Defaults to false, and can also be set with the FAKE_RELEASE=1 environment variable. POD Coverage Subroutines can be considered "covered" for POD Coverage checks, by adding a directive to the POD itself, as described in Pod::CoverageTrustPod: =for Pod::Coverage foo bar baz POD Spelling Stopwords for POD Spelling checks can be added by adding a directive to the POD itself, as described in Pod::Spell: =for stopwords foo bar baz Providing Plugin Configuration This plugin bundle uses Dist::Zilla::Role::PluginBundle::Config::Slicer, which allows you to provide plugin-specific configuration like this: [@Author::GTERMARS] GatherDir.exclude_filename = cpanfile Removing Plugins This plugin bundle uses Dist::Zilla::Role::PluginBundle::Remover, allowing you to remove specific plugins like this: [@Author::GTERMARS] -remove = GitHub::Meta -remove = RunExtraTests AUTHOR Graham TerMarsch (cpan@howlingfrog.com) COPYRIGHT Copyright (C) 2020-, Graham TerMarsch. All Rights Reserved. This is free software; you can redistribute it and/or modify it under the same license as Perl itself. SEE ALSO Dist::Zilla