NAME Dist::Zilla::PluginBundle::NGLENN - Dist::Zilla plugin configuration for me VERSION version 0.01 SYNOPSIS # in dist.ini [@NGLENN] DESCRIPTION This is a Dist::Zilla PluginBundle. It is roughly equivalent to the following dist.ini: ; version provider [RewriteVersion] ; also munges ; collect contributors list [Git::Contributors] ; choose files to include [Git::GatherDir] ; everything from git ls-files exclude_filename = README.pod ; skip this generated file exclude_filename = README.mkdn ; skip this generated file exclude_filename = META.json ; skip this generated file exclude_filename = cpanfile ; skip this generated file [PruneCruft] ; default stuff to skip [ManifestSkip] ; if -f MANIFEST.SKIP, skip those, too ; file modifications [InsertCopyright ; add copyright at "# COPYRIGHT" [PodWeaver] ; generate Pod config_plugin = @NGLENN ; my own plugin allows Pod::WikiDoc replacer = replace_with_comment post_code_replacer = replace_with_nothing ; generated files [License] ; boilerplate license [ReadmeFromPod] ; from Pod (runs after PodWeaver) [TravisYML] ; Travis-CI configuration build_branch = master ; t tests [Test::ReportPrereqs] ; show prereqs in automated test output ; xt tests [Test::MinimumVersion] ; xt/release/minimum-version.t max_target_perl = 5.010 ; don't use syntax/features past 5.10 [Test::PodSpelling] ; xt/author/pod-spell.t [Test::Perl::Critic]; xt/author/critic.t [MetaTests] ; xt/release/meta-yaml.t [PodSyntaxTests] ; xt/release/pod-syntax.t [PodCoverageTests] ; xt/release/pod-coverage.t [Test::Portability] ; xt/release/portability.t (of file name) options = test_one_dot = 0 [Test::Version] ; xt/release/test-version.t [Test::Compile] ; xt/author/00-compile.t fake_home = 1 ; fakes $ENV{HOME} just in case xt_mode = 1 ; make sure all files compile ; metadata [AutoPrereqs] ; find prereqs from code skip = ^t::lib [Authority] authority = cpan:NGLENN do_munging = 0 [MinimumPerl] ; determine minimum perl version [MetaNoIndex] ; sets 'no_index' in META directory = t directory = xt directory = examples directory = corpus package = DB ; just in case [GithubMeta] ; set META resources remote = origin remote = github issues = 1 [MetaProvides::Package] ; add 'provides' to META files meta_noindex = 1 ; respect prior no_index directives [Prereqs::AuthorDeps] ; add authordeps as develop/requires [MetaYAML] ; generate META.yml (v1.4) [MetaJSON] ; generate META.json (v2) [CPANFile] ; generate cpanfile ; build system [ExecDir] ; include 'bin/*' as executables [ShareDir] ; include 'share/' for File::ShareDir [MakeMaker] ; create Makefile.PL eumm_version = 6.17 default_jobs = 9 ; manifest (after all generated files) [Manifest] ; create MANIFEST ; copy cpanfile back to repo dis [CopyFilesFromBuild] copy = Makefile.PL ; before release [PromptIfStale] ; check if our build tools are out of date module = Dist::Zilla module = Dist::Zilla::PluginBundle::NGLENN check_all_plugins = 1 [Git::Check] ; ensure all files checked in allow_dirty = dist.ini allow_dirty = Changes allow_dirty = cpanfile [CheckMetaResources] ; ensure META has 'resources' data [CheckPrereqsIndexed] ; ensure prereqs are on CPAN [CheckChangesHasContent] ; ensure Changes has been updated [RunExtraTests] ; ensure xt/ tests pass default_jobs = 9 [TestRelease] ; ensure t/ tests pass [ConfirmRelease] ; prompt before uploading ; releaser [UploadToCPAN] ; uploads to CPAN ; after release [Git::Commit / Commit_Dirty_Files] ; commit Changes (as released) [Git::Tag] ; tag repo with custom tag tag_format = release-%v ; NextRelease acts *during* pre-release to write $VERSION and ; timestamp to Changes and *after* release to add a new {{$NEXT}} ; section, so to act at the right time after release, it must actually ; come after Commit_Dirty_Files but before Commit_Changes in the ; dist.ini. It will still act during pre-release as usual [NextRelease] [BumpVersionAfterRelease] [Git::Commit / Commit_Changes] ; commit Changes (for new dev) [Git::Push] ; push repo to remote push_to = origin This distribution was forked from the DAGOLDEN plugin bundle. The abstract should really be "Dist::Zilla configuration the way NGLENN, who does it the way DAGOLDEN does it, does it", but that was too long. I struggled with many complexities of writing a good dist.ini, but found that David Golden had solved all of them. I tweaked it slightly to fit my needs, most importantly to make everything work on Windows. I will probably continue to pull changes made to the originating DAGOLDEN distribution. See the changes file for more information. USAGE To use this PluginBundle, just add it to your dist.ini. You can provide the following options: * "is_task" — this indicates whether "TaskWeaver" or "PodWeaver" should be used. Default is 0. * "authority" — specifies the "x_authority" field for pause. Defaults to 'cpan:NGLENN'. * "auto_prereq" — this indicates whether "AutoPrereqs" should be used or not. Default is 1. # "auto_version" - this indicates whether "AutoVersion" should be used or not. Default is 0. * "darkpan" — for private code; uses "FakeRelease" and fills in dummy repo/bugtracker data * "fake_release" — swaps "FakeRelease" for "UploadToCPAN". Mostly useful for testing a dist.ini without risking a real release. * "git_remote" — where to push after release * "github_issues" — whether to use github issue tracker. Defaults is 1. * "stopwords" — add stopword for "Test::PodSpelling" (can be repeated) * "tag_format" — given to "Git::Tag". Default is 'release-%v' to be more robust than just the version number when parsing versions for Git::NextVersion * "weaver_config" — specifies a Pod::Weaver bundle. Defaults to @NGLENN. * "version_regexp" — given to Git::NextVersion. Default is '^release-(.+)$' * "no_git" — bypass all git-dependent plugins * "no_critic" — omit "Test::Perl::Critic" tests * "no_spellcheck" — omit "Test::PodSpelling" tests * "no_coverage" — omit PodCoverage tests * "no_minimum_perl" — omit "Test::MinimumVersion" tests When running without git, "GatherDir" is used instead of "Git::GatherDir". and all git check and commit operations are disabled. By default, versions are taken/rewritten in the source file using "RewriteVersion" and "BumpVersionAfterRelease". If the "auto_version" option is true, the version is set by "AutoVersion" and munged with "PkgVersion". For "auto_version" the generated "cpanfile" is copied to the repo on build; otherwise, "Makefile.PL" is copied. This PluginBundle now supports "ConfigSlicer", so you can pass in options to the plugins used like this: [@NGLENN] Test::MinimumVersion.max_target_perl = 5.014 ExecDir.dir = scripts This PluginBundle also supports "PluginRemover", so dropping a plugin is as easy as this: [@NGLENN] -remove = Test::Portability SEE ALSO * Dist::Zilla * Dist::Zilla::Plugin::PodWeaver * Dist::Zilla::Plugin::TaskWeaver * Dist::Zilla::PluginBundle::DAGOLDEN SUPPORT Bugs / Feature Requests Please report any bugs or feature requests through the issue tracker at . You will be notified automatically of any progress on your issue. Source Code This is open source software. The code repository is available for public review and contribution under the terms of the license. git clone https://github.com/garfieldnate/Dist-Zilla-PluginBundle-NGLENN.git AUTHOR Nate Glenn CONTRIBUTORS * Christian Walde * David Golden * Eric Johnson * Karen Etheridge * Nathan Glenn * Philippe Bruhat (BooK) * Sergey Romanov COPYRIGHT AND LICENSE This software is Copyright (c) 2014 by Nathan Glenn. This is free software, licensed under: The Apache License, Version 2.0, January 2004