Giter Club home page Giter Club logo

dist-zilla-pluginbundle-author-gtermars's Introduction

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 ([email protected])

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-pluginbundle-author-gtermars's People

Contributors

bleargh45 avatar

Watchers

 avatar  avatar

dist-zilla-pluginbundle-author-gtermars's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.