This PR is a submission for my CPAN Pull Request Challenge this month. (link not ready yet, hopefully soon when Neil updates the site.)
To start, maintainers need to install Dist::Zilla and set up their global profile using
[do work: make changes, merge PRs, etc, then...] dzil test # run tests dzil build # build a dist in ./Math-Base36-$VERSION dzil release # build a dist, run release tests, push to CPAN, tag and push to GitHub
This lets specifying the package version only once in dist.ini, to cascade to both the module and Changes files.
This dzil plugin can read the previous tag and compute the next version, which can then be taken by other plugins (NextRelease and OurPkgVersion) to use on the files being munged.
Replace the old pod tests in git with ones supplied by these dzil plugins. As a side-effect, pod tests are now run via `dzil test --author` (or in a dist directory made via `dzil build`.)
This dzil plugin maintains GitHub information (repo site and clone URL) on CPAN::Meta files. `bugs` setting is set to `false` in order to retain using the current RT bugtracker instead of GitHub issues, which is this plugin's default; maintainers can choose remove this line later.
This is even better since it can generate a README directly on the repo's root directory, instead of just inside of a `dzil build`.
Ensure that there's a copy of CPAN::Meta data in the repo root, as this along with cpanfile would allow modern CPAN clients like cpanm and cpm to properly detect prereqs.
Generated files like META.json and README.pod should be updated at `dzil build` or `dzil release`, but not cause these to be re-included when dzil gathers files. This needs changing the `@Basic` plugin bundle to use Git::GatherDir to resolve this.