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]
      [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