|
Packit |
e6feea |
## HOW TO CONTRIBUTE
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
Thank you for considering contributing to this distribution. This file
|
|
Packit |
e6feea |
contains instructions that will help you work with the source code.
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
The distribution is managed with Dist::Zilla. This means than many of the
|
|
Packit |
e6feea |
usual files you might expect are not in the repository, but are generated
|
|
Packit |
e6feea |
at release time (e.g. Makefile.PL).
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
### Getting dependencies
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
See the included `cpanfile` file for a list of dependencies. If you have
|
|
Packit |
e6feea |
App::cpanminus 1.6 or later installed, you can use `cpanm` to satisfy
|
|
Packit |
e6feea |
dependencies like this:
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
$ cpanm --installdeps .
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
Otherwise, you can install Module::CPANfile 1.0002 or later and then satisfy
|
|
Packit |
e6feea |
dependencies with the regular `cpan` client and `cpanfile-dump`:
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
$ cpan `cpanfile-dump`
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
### Running tests
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
You can run tests directly using the `prove` tool:
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
$ prove -l
|
|
Packit |
e6feea |
$ prove -lv t/some_test_file.t
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
For most distributions, `prove` is entirely sufficent for you to test any
|
|
Packit |
e6feea |
patches you have.
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
### Code style and tidying
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
Please try to match any existing coding style. If there is a `.perltidyrc`
|
|
Packit |
e6feea |
file, please install Perl::Tidy and use perltidy before submitting patches.
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
If there is a `tidyall.ini` file, you can also install Code::TidyAll and run
|
|
Packit |
e6feea |
`tidyall` on a file or `tidyall -a` to tidy all files.
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
### Patching documentation
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
Much of the documentation Pod is generated at release time.
|
|
Packit |
e6feea |
Depending on the distribution, some documentation may be written in a Pod
|
|
Packit |
e6feea |
dialect called WikiDoc. (See Pod::WikiDoc on CPAN.)
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
If you would like to submit a documentation edit, please limit yourself to the
|
|
Packit |
e6feea |
documentation you see.
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
If you see typos or documentation issues in the generated docs, please
|
|
Packit |
e6feea |
email or open a bug ticket instead of patching.
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
### Learning Dist::Zilla
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
Dist::Zilla is a very powerful authoring tool, but requires a number of
|
|
Packit |
e6feea |
author-specific plugins. If you would like to use it for contributing,
|
|
Packit |
e6feea |
install it from CPAN, then run one of the following commands, depending on
|
|
Packit |
e6feea |
your CPAN client:
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
$ cpan `dzil authordeps`
|
|
Packit |
e6feea |
$ dzil authordeps | cpanm
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
Once installed, here are some dzil commands you might try:
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
$ dzil build
|
|
Packit |
e6feea |
$ dzil test
|
|
Packit |
e6feea |
$ dzil xtest
|
|
Packit |
e6feea |
|
|
Packit |
e6feea |
You can learn more about Dist::Zilla at http://dzil.org/
|
|
Packit |
e6feea |
|