CONTRIBUTING
Thank you for considering contributing to this distribution. This file contains instructions that will help you work with the source code.
Please note that if you have any questions or difficulties, you can reach the maintainer(s) through the bug queue described later in this document (preferred), or by emailing the releaser directly. You are not required to follow any of the steps in this document to submit a patch or bug report; these are just recommendations, intended to help you (and help us help you faster).
The distribution is managed with Dist::Zilla.
However, you can still compile and test the code with the
Makefile.PL
in the repository:
perl Makefile.PL
make
make test
You may need to satisfy some dependencies. The easiest way to satisfy dependencies is to install the last release. This is available at https://metacpan.org/release/DateTime
You can use cpanminus
to do this
without downloading the tarball first:
$> cpanm --reinstall --installdeps --with-recommends DateTime
Dist::Zilla
is a very powerful
authoring tool, but requires a number of author-specific plugins. If you would
like to use it for contributing, install it from CPAN, then the following
command to install the needed distros:
$> dzil authordeps --missing | cpanm
There may also be additional requirements not needed by the dzil build which are needed for tests or other development:
$> dzil listdeps --author --missing | cpanm
Or, you can use the 'dzil stale' command to install all requirements at once:
$> cpanm Dist::Zilla::App::Command::stale
$> dzil stale --all | cpanm
You can also do this via cpanm directly:
$> cpanm --reinstall --installdeps --with-develop --with-recommends DateTime
Once installed, here are some dzil commands you might try:
$> dzil build
$> dzil test
$> dzil test --release
$> dzil xtest
$> dzil listdeps --json
$> dzil build --notgz
You can learn more about Dist::Zilla at http://dzil.org/.
The code for this distribution is hosted on GitHub.
You can submit code changes by forking the repository, pushing your code changes to your clone, and then submitting a pull request. Please update the Changes file with a user-facing description of your changes as part of your work. See the GitHub documentation for detailed instructions on pull requests
If you have found a bug, but do not have an accompanying patch to fix it, you can submit an issue report via the web.
Continuous Integration
All pull requests for this distribution will be automatically tested using Azure Pipelines.
All CI results will be visible in the pull request on GitHub. Follow the appropriate links for details when tests fail. PRs cannot be merged until tests pass.
Precious
This distribution uses precious
to enforce a uniform coding style. This is tested as part of the author
testing suite. You can install this and any other necessary non-Perl tools by
running ./dev-bin/install-xt-tools.sh
.
Then you can use precious
to tidy and lint your code:
$> precious tidy -a
$> precious lint -a
Please run precious tidy -a
and precious lint -a
before committing your
changes and address any issues that it reports.
You can also set up a git pre-commit hook that checks all changed files for
linting issues by running ./git/setup.pl
.
Contributor Names
If you send a patch or pull request, your name and email address will be
included in the documentation as a contributor (using the attribution on the
commit or patch), unless you specifically request for it not to be. If you
wish to be listed under a different name or address, you should submit a pull
request to the .mailmap
file to contain the correct mapping.
Generated By
This file was generated via Dist::Zilla::Plugin::GenerateFile::FromShareDir 0.015 from a template file originating in Dist-Zilla-PluginBundle-DROLSKY-1.20.