|
Packit Service |
3b7cb7 |
# CONTRIBUTING
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
Thank you for considering contributing to this distribution. This file
|
|
Packit Service |
3b7cb7 |
contains instructions that will help you work with the source code.
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
Please note that if you have any questions or difficulties, you can reach the
|
|
Packit Service |
3b7cb7 |
maintainer(s) through the bug queue described later in this document
|
|
Packit Service |
3b7cb7 |
(preferred), or by emailing the releaser directly. You are not required to
|
|
Packit Service |
3b7cb7 |
follow any of the steps in this document to submit a patch or bug report;
|
|
Packit Service |
3b7cb7 |
these are just recommendations, intended to help you (and help us help you
|
|
Packit Service |
3b7cb7 |
faster).
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
The distribution is managed with
|
|
Packit Service |
3b7cb7 |
[Dist::Zilla](https://metacpan.org/release/Dist-Zilla).
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
However, you can still compile and test the code with the `Makefile.PL` or
|
|
Packit Service |
3b7cb7 |
`Build.PL` in the repository:
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
perl Makefile.PL
|
|
Packit Service |
3b7cb7 |
make
|
|
Packit Service |
3b7cb7 |
make test
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
or
|
|
Packit Service |
3b7cb7 |
perl Build.PL
|
|
Packit Service |
3b7cb7 |
./Build
|
|
Packit Service |
3b7cb7 |
./Build test
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
As well as:
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
$ prove -bvr t
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
or
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
$ perl -Mblib t/some_test_file.t
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
You may need to satisfy some dependencies. The easiest way to satisfy
|
|
Packit Service |
3b7cb7 |
dependencies is to install the last release. This is available at
|
|
Packit Service |
3b7cb7 |
https://metacpan.org/release/Exception-Class
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
If you use cpanminus, you can do it without downloading the tarball first:
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
$ cpanm --reinstall --installdeps --with-recommends Exception::Class
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
Dist::Zilla is a very powerful authoring tool, but requires a number of
|
|
Packit Service |
3b7cb7 |
author-specific plugins. If you would like to use it for contributing, install
|
|
Packit Service |
3b7cb7 |
it from CPAN, then run one of the following commands, depending on your CPAN
|
|
Packit Service |
3b7cb7 |
client:
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
$ cpan `dzil authordeps --missing`
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
or
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
$ dzil authordeps --missing | cpanm
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
They may also be additional requirements not needed by the dzil build which
|
|
Packit Service |
3b7cb7 |
are needed for tests or other development:
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
$ cpan `dzil listdeps --author --missing`
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
or
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
$ dzil listdeps --author --missing | cpanm
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
Or, you can use the 'dzil stale' command to install all requirements at once:
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
$ cpan Dist::Zilla::App::Command::stale
|
|
Packit Service |
3b7cb7 |
$ cpan `dzil stale --all`
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
or
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
$ cpanm Dist::Zilla::App::Command::stale
|
|
Packit Service |
3b7cb7 |
$ dzil stale --all | cpanm
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
You can also do this via cpanm directly:
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
$ cpanm --reinstall --installdeps --with-develop --with-recommends Exception::Class
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
Once installed, here are some dzil commands you might try:
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
$ dzil build
|
|
Packit Service |
3b7cb7 |
$ dzil test
|
|
Packit Service |
3b7cb7 |
$ dzil test --release
|
|
Packit Service |
3b7cb7 |
$ dzil xtest
|
|
Packit Service |
3b7cb7 |
$ dzil listdeps --json
|
|
Packit Service |
3b7cb7 |
$ dzil build --notgz
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
You can learn more about Dist::Zilla at http://dzil.org/.
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
The code for this distribution is [hosted at GitHub](https://github.com/houseabsolute/Exception-Class).
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
You can submit code changes by forking the repository, pushing your code
|
|
Packit Service |
3b7cb7 |
changes to your clone, and then submitting a pull request. Detailed
|
|
Packit Service |
3b7cb7 |
instructions for doing that is available here:
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
https://help.github.com/articles/creating-a-pull-request
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
If you have found a bug, but do not have an accompanying patch to fix it, you
|
|
Packit Service |
3b7cb7 |
can submit an issue report [via the web](https://github.com/houseabsolute/Exception-Class/issues)
|
|
Packit Service |
3b7cb7 |
).
|
|
Packit Service |
3b7cb7 |
This is a good place to send your questions about the usage of this distribution.
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
## Travis
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
All pull requests for this distribution will be automatically tested by
|
|
Packit Service |
3b7cb7 |
[Travis](https://travis-ci.org/) and the build status will be reported on the
|
|
Packit Service |
3b7cb7 |
pull request page. If your build fails, please take a look at the output.
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
## TidyAll
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
This distribution uses
|
|
Packit Service |
3b7cb7 |
[Code::TidyAll](https://metacpan.org/release/Code-TidyAll) to enforce a
|
|
Packit Service |
3b7cb7 |
uniform coding style. This is tested as part of the author testing suite. You
|
|
Packit Service |
3b7cb7 |
can install and run tidyall by running the following commands:
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
$ cpanm Code::TidyAll
|
|
Packit Service |
3b7cb7 |
$ tidyall -a
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
Please run this before committing your changes and address any issues it
|
|
Packit Service |
3b7cb7 |
brings up.
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
## Contributor Names
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
If you send a patch or pull request, your name and email address will be
|
|
Packit Service |
3b7cb7 |
included in the documentation as a contributor (using the attribution on the
|
|
Packit Service |
3b7cb7 |
commit or patch), unless you specifically request for it not to be. If you
|
|
Packit Service |
3b7cb7 |
wish to be listed under a different name or address, you should submit a pull
|
|
Packit Service |
3b7cb7 |
request to the .mailmap file to contain the correct mapping.
|
|
Packit Service |
3b7cb7 |
|
|
Packit Service |
3b7cb7 |
This file was generated via Dist::Zilla::Plugin::GenerateFile::FromShareDir 0.013 from a
|
|
Packit Service |
3b7cb7 |
template file originating in Dist-Zilla-PluginBundle-DROLSKY-0.88.
|