Dist::Zilla::PluginBundle::ODYNIEC - Dist::Zilla configuration the way ODYNIEC does it
version 0.021
# in dist.ini [@ODYNIEC]
This is a Dist::Zilla PluginBundle based on Dist::Zilla::PluginBundle::DAGOLDEN, which was created by David Golden. It is roughly equivalent to the following dist.ini:
; Version provider [Git::NextVersion] ; Get version from last release tag version_regexp = ^v(.+)$ ; Collect contributors list [ContributorsFromGit] ; Choose files to include [Git::GatherDir] ; Everything from git ls-files exclude_filename = META.json ; Skip this generated file [PruneCruft] ; Default stuff to skip [ManifestSkip] ; If -f MANIFEST.SKIP, skip those, too ; File modifications [OurPkgVersion] ; Add $VERSION = ... to all files [InsertCopyright ; Add copyright at "# COPYRIGHT" [PodWeaver] ; Generate Pod config_plugin = @ODYNIEC ; For Pod::WikiDoc ; generated files [License] ; Boilerplate license (core) [ReadmeAnyFromPod / ReadmePodInRoot] ; For README.pod type = pod ; Generated t/ tests [Test::ReportPrereqs] ; Show prereqs in automated test output ; Generated 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 (core) [PodSyntaxTests] ; xt/release/pod-syntax.t (core) [PodCoverageTests] ; xt/release/pod-coverage.t (core) [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 ; Fake $ENV{HOME} just in case [Test::CPAN::Changes] ; xt/release/cpan-changes.t ; Metadata [AutoPrereqs] ; Find prereqs from code (core) skip = ^t::lib [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 [MetaYAML] ; Generate META.yml (v1.4) (core) [MetaJSON] ; Generate META.json (v2) (core) [CPANFile] ; Generate cpanfile ; Build system [ExecDir] ; Include 'bin/*' as executables (core) [ShareDir] ; Include 'share/' for File::ShareDir (core) [MakeMaker] ; Create Makefile.PL (core) eumm_version = 6.17 ; Copy files from build back to root for inclusion in VCS [CopyFilesFromBuild] copy = cpanfile ; Manifest (after all generated files) [Manifest] ; Create MANIFEST (core) ; Before release [Git::Check] ; Ensure all files checked in allow_dirty = dist.ini allow_dirty = Changes allow_dirty = cpanfile allow_dirty = README.pod [CheckMetaResources] ; Ensure META has 'resources' data [CheckPrereqsIndexed] ; Ensure prereqs are on CPAN [CheckChangesHasContent] ; Ensure Changes has been updated [CheckExtraTests] ; Ensure xt/ tests pass [TestRelease] ; Ensure t/ tests pass (core) [ConfirmRelease] ; Prompt before uploading (core) ; Release [UploadToCPAN] ; Upload to CPAN (core) ; After release ; 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] format = %-9v %{yyyy-MM-dd}d [Git::Commit] ; Commit Changes allow_dirty = dist.ini allow_dirty = Changes allow_dirty = README.pod allow_dirty = cpanfile [Git::Tag] ; Tag repo with custom tag tag_message = Version %v [Git::Push] ; Push repo to remote
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.
is_task
TaskWeaver
PodWeaver
Default is 0.
auto_prereq -- this indicates whether AutoPrereqs should be used or not. Default is 1.
auto_prereq
AutoPrereqs
darkpan -- for private code; uses FakeRelease and fills in dummy repo/bugtracker data
darkpan
FakeRelease
fake_release -- swaps FakeRelease for UploadToCPAN. Mostly useful for testing a dist.ini without risking a real release.
fake_release
UploadToCPAN
git_remote -- where to push after release
git_remote
github_issues -- whether to use github issue tracker. Defaults is 1.
github_issues
stopwords -- add stopword for Test::PodSpelling (can be repeated)
stopwords
Test::PodSpelling
tag_format -- given to Git::Tag. Default is 'v%v'.
tag_format
Git::Tag
weaver_config -- specifies a Pod::Weaver bundle. Defaults to @ODYNIEC.
weaver_config
version_regexp -- given to Git::NextVersion. Default is '^v(.+)$'
version_regexp
no_git -- bypass all git-dependent plugins
no_git
no_critic -- omit Test::Perl::Critic tests
no_critic
Test::Perl::Critic
no_spellcheck -- omit Test::PodSpelling tests
no_spellcheck
no_coverage -- omit PodCoverage tests
no_coverage
no_minimum_perl -- omit Test::MinimumVersion tests
no_minimum_perl
Test::MinimumVersion
When running without git, GatherDir is used instead of Git::GatherDir, AutoVersion is used instead of Git::NextVersion, and all git check and commit operations are disabled.
GatherDir
Git::GatherDir
AutoVersion
Git::NextVersion
This PluginBundle now supports ConfigSlicer, so you can pass in options to the plugins used like this:
ConfigSlicer
[@ODYNIEC] Test::MinimumVersion.max_target_perl = 5.014 ExecDir.dir = scripts
This PluginBundle also supports PluginRemover, so dropping a plugin is as easy as this:
PluginRemover
[@ODYNIEC] -remove = Test::Portability
Dist::Zilla
Dist::Zilla::Plugin::PodWeaver
Dist::Zilla::Plugin::TaskWeaver
Please report any bugs or feature requests through the issue tracker at https://github.com/odyniec/p5-Dist-Zilla-PluginBundle-ODYNIEC/issues. You will be notified automatically of any progress on your issue.
This is open source software. The code repository is available for public review and contribution under the terms of the license.
https://github.com/odyniec/p5-Dist-Zilla-PluginBundle-ODYNIEC
git clone https://github.com/odyniec/p5-Dist-Zilla-PluginBundle-ODYNIEC.git
David Golden <dagolden@cpan.org>
Michal Wojciechowski <odyniec@cpan.org>
Christian Walde <walde.christian@googlemail.com>
Eric Johnson <eric.git@iijo.org>
Karen Etheridge <ether@cpan.org>
Michal Wojciechowski <odyniec@odyniec.net>
Michał Wojciechowski <odyniec@odyniec.eu.org>
Philippe Bruhat (BooK) <book@cpan.org>
Sergey Romanov <complefor@rambler.ru>
This software is Copyright (c) 2014 by Michal Wojciechowski.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004
To install Dist::Zilla::PluginBundle::ODYNIEC, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Dist::Zilla::PluginBundle::ODYNIEC
CPAN shell
perl -MCPAN -e shell install Dist::Zilla::PluginBundle::ODYNIEC
For more information on module installation, please visit the detailed CPAN module installation guide.