The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Dist::Zilla::PluginBundle::Author::HAYOBAAN - Hayo Baan's Dist::Zilla configuration

VERSION

version 0.006

DESCRIPTION

This is a Dist::Zilla PluginBundle. It installs and configures Dist::Zilla plugins according to HAYOBAAN's preferences. The following plugins are (conditionally) installed and configured:

  Dist::Zilla::Plugin::AutoVersion
  Dist::Zilla::Plugin::Git::NextVersion
  Dist::Zilla::Plugin::OurPkgVersion
  Dist::Zilla::Plugin::GatherDir
  Dist::Zilla::Plugin::Git::GatherDir
  Dist::Zilla::Plugin::PruneCruft
  Dist::Zilla::Plugin::ManifestSkip
  Dist::Zilla::Plugin::PodWeaver
  Dist::Zilla::Plugin::ReadmeAnyFromPod / Text
  Dist::Zilla::Plugin::ReadmeAnyFromPod / Markdown
  Dist::Zilla::Plugin::License
  Dist::Zilla::Plugin::InstallGuide
  Dist::Zilla::Plugin::MinimumPerl
  Dist::Zilla::Plugin::AutoPrereqs
  Dist::Zilla::Plugin::MetaNoIndex
  Dist::Zilla::Plugin::GitHub::Meta
  Dist::Zilla::Plugin::MetaJSON
  Dist::Zilla::Plugin::MetaYAML
  Dist::Zilla::Plugin::MetaProvides::Package
  Dist::Zilla::Plugin::MetaProvides::Class
  Dist::Zilla::Plugin::ExecDir
  Dist::Zilla::Plugin::ShareDir
  Dist::Zilla::Plugin::MakeMaker
  Dist::Zilla::Plugin::ModuleBuild
  Dist::Zilla::Plugin::Manifest
  Dist::Zilla::Plugin::CopyFilesFromBuild
  Dist::Zilla::Plugin::Run::AfterBuild
  Dist::Zilla::Plugin::CheckChangesHasContent
  Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch
  Dist::Zilla::Plugin::Git::Check
  Dist::Zilla::Plugin::CheckMetaResources
  Dist::Zilla::Plugin::CheckPrereqsIndexed
  Dist::Zilla::Plugin::Test::Compile
  Dist::Zilla::Plugin::Test::Perl::Critic
  Dist::Zilla::Plugin::Test::EOL
  Dist::Zilla::Plugin::Test::NoTabs
  Dist::Zilla::Plugin::Test::Version
  Dist::Zilla::Plugin::Test::MinimumVersion
  Dist::Zilla::Plugin::MojibakeTests
  Dist::Zilla::Plugin::Test::Kwalitee
  Dist::Zilla::Plugin::Test::Portability
  Dist::Zilla::Plugin::Test::UnusedVars
  Dist::Zilla::Plugin::Test::CPAN::Changes
  Dist::Zilla::Plugin::Test::DistManifest
  Dist::Zilla::Plugin::Test::CPAN::Meta::JSON
  Dist::Zilla::Plugin::MetaTests
  Dist::Zilla::Plugin::PodSyntaxTests
  Dist::Zilla::Plugin::PodCoverageTests
  Dist::Zilla::Plugin::Test::Pod::LinkCheck
  Dist::Zilla::Plugin::Test::Synopsis
  Dist::Zilla::Plugin::TestRelease
  Dist::Zilla::Plugin::RunExtraTests
  Dist::Zilla::Plugin::ConfirmRelease
  Dist::Zilla::Plugin::UploadToCPAN
  Dist::Zilla::Plugin::SchwartzRatio
  Dist::Zilla::Plugin::FakeRelease
  Dist::Zilla::Plugin::NextRelease
  Dist::Zilla::Plugin::Git::Commit
  Dist::Zilla::Plugin::Git::Tag
  Dist::Zilla::Plugin::Git::Push
  Dist::Zilla::Plugin::GitHub::Update
  Dist::Zilla::Plugin::Run::AfterRelease
  Dist::Zilla::Plugin::Clean

USAGE

  # In dist.ini
  [@Author::HAYOBAAN]

OPTIONS

The following additional command-line option is available for the dzil command.

--local_release_only

Adding this option to the dzil release command will:

  • inhibit uploading to CPAN (if applicable),

  • inhibit git checking, tagging, commiting, and pushing,

  • inhibit Changes file checking

  • keep the version number the same.

The run_after_release code is still run so you can use this flag to "release" a development version locally for further use or testing, without e.g., fixing the new version number.

--local, --local_only, and --local_release are synonyms for this option.

ATTRIBUTES

is_cpan

Specifies that this is a distribution that is destined for CPAN. When true, releases are uploaded to CPAN using UploadToCPAN. If false, releases are made using FakeRelease.

Default: false.

is_github_hosted

Specifies that the distribution's repository is hosted on GitHub.

Default: false (note: setting is_cpan enforces is_github_hosted to true)

git_remote

Specifies where to push the distribution on GitHub. Can be used multiple times to upload to multiple branches.

Default: origin

no_git

Specifies that the distribution is not under git version control.

Default: false (note: setting is_github_hosted enforces this setting to false)

local_release_only

Setting this to true will:

  • inhibit uploading to CPAN (if applicable),

  • inhibit git checking, tagging, commiting, and pushing,

  • keep the version number the same,

when releasing the distribution.

local, local_only, and local_release are synonyms for this setting.

run_after_build

Specifies commands to run after the release has been built (but not yet released). Multiple run_after_build commands can be specified.

The commands are run from the root of your development tree and has the following special symbols available:

  • %d the directory in which the distribution was built

  • %n the name of the distribution

  • %p path separator ('/' on Unix, '\\' on Win32... useful for cross-platform dist.ini files)

  • %v the version of the distribution

  • %t -TRIAL if the release is a trial release, otherwise the empty string

  • %x full path to the current perl interpreter (like $^X but from Config)

Default: nothing

run_after_release

Specifies commands to run after the release has been made. Use it to e.g., automatically install your distibution after releasing. Multiple run_after_release commands can be specified.

The commands are run from the root of your development tree and has the same symbols available as the run_after_build, plus the following:

  • %a the archive of the release

Default: cpanm './%d'

Examples:

To install using cpanm (this is the default):

  run_after_release = cpanm './%d'

To install using cpan:

  run_after_release = %x -MCPAN -einstall './%d'

To not do anything:

  run_after_release =

additional_test

Additional test plugin to use. Can be used multiple times to add more than one additional test.

By default the following tests are executed:

  • Test::Compile -- Checks if perl code compiles correctly

  • Test::Perl::Critic -- Checks Perl source code for best-practices

  • Test::EOL -- Checks line endings

  • Test::NoTabs -- Checks for the use of tabs

  • Test::Version -- Checks to see if each module has the correct version set

  • Test::MinimumVersion -- Checks the minimum perl version, using max_target_perl

  • MojibakeTests -- Checks source encoding

  • Test::Kwalitee -- Checks the Kwalitee

  • Test::Portability -- Checks portability of code

  • Test::UnusedVars -- Checks for unused variables

  • Test::CPAN::Changes -- Validation of the Changes file

  • Test::DistManifest -- Validation of the MANIFEST file

  • Test::CPAN::Meta::JSON -- Validation of the META.json file -- only when hosted on GitHub

  • MetaTests -- Validation of the META.yml file -- only when hosted on GitHub

  • PodSyntaxTests -- Checks pod syntax

  • PodCoverageTests -- Checks pod coverage

  • Test::Pod::LinkCheck -- Checks pod links

  • Test::Synopsis -- Checks the pod synopsis

disable_test

Specifies the test you don't want to be run. Can bu used more than once to disable multiple tests.

Default: none (i.e., run all default and additional_test tests).

max_target_perl

Defines the highest minimum version of perl you intend to require. This is passed to Dist::Zilla::Plugin::Test::MinimumVersion, which generates a minimum-version.t test that'll warn you if you accidentally used features from a higher version of perl than you wanted. (Having a lower required version of perl is okay.)

Default: 5.006

surgical

If this is set to true, SurgicalPodWeaver is used instead of the standard PodWeaver plugin. SurgicalPodWeaver only munges files that contain either a # ABSTRAC or a # Dist::Zilla: +PodWeaver line.

Default: false

weaver_config

Specifies the configuration for Pod::Weaver.

Default: @Author::HAYOBAAN.

tag_format

Specifies the format for tagging a release (see Git::Tag for details).

Default: v%v%t

version_regexp

Specifies the regexp for versions (see Git::NextVersion for details).

Default: ^v?([\d.]+)(?:-TRIAL)?$

Note: only used in case of git version controlled repositories (AutoVersion is used in case of non-git version controlled repositories).

BUGS

Please report any bugs or feature requests on the bugtracker website https://github.com/HayoBaan/Dist-Zilla-PluginBundle-Author-HAYOBAAN/issues

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

STABILITY

This module is still under development.

CREDITS

I took inspiration from many people's Dist::Zilla and Pod::Weaver PluginBundles. Most notably from:

AUTHOR

Hayo Baan <info@hayobaan.nl>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Hayo Baan.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.