1# CONTRIBUTING 2 3Thank you for considering contributing to this distribution. This file 4contains instructions that will help you work with the source code. 5 6Please note that if you have any questions or difficulties, you can reach the 7maintainer(s) through the bug queue described later in this document 8(preferred), or by emailing the releaser directly. You are not required to 9follow any of the steps in this document to submit a patch or bug report; 10these are just recommendations, intended to help you (and help us help you 11faster). 12 13 14The distribution is managed with 15[Dist::Zilla](https://metacpan.org/release/Dist-Zilla). 16 17However, you can still compile and test the code with the `Makefile.PL` or 18`Build.PL` in the repository: 19 20 perl Makefile.PL 21 make 22 make test 23 24or 25 perl Build.PL 26 ./Build 27 ./Build test 28 29As well as: 30 31 $ prove -bvr t 32 33or 34 35 $ perl -Mblib t/some_test_file.t 36 37You may need to satisfy some dependencies. The easiest way to satisfy 38dependencies is to install the last release. This is available at 39https://metacpan.org/release/Web-Machine 40 41If you use cpanminus, you can do it without downloading the tarball first: 42 43 $ cpanm --reinstall --installdeps --with-recommends Web::Machine 44 45Dist::Zilla is a very powerful authoring tool, but requires a number of 46author-specific plugins. If you would like to use it for contributing, install 47it from CPAN, then run one of the following commands, depending on your CPAN 48client: 49 50 $ cpan `dzil authordeps --missing` 51 52or 53 54 $ dzil authordeps --missing | cpanm 55 56They may also be additional requirements not needed by the dzil build which 57are needed for tests or other development: 58 59 $ cpan `dzil listdeps --author --missing` 60 61or 62 63 $ dzil listdeps --author --missing | cpanm 64 65Or, you can use the 'dzil stale' command to install all requirements at once: 66 67 $ cpan Dist::Zilla::App::Command::stale 68 $ cpan `dzil stale --all` 69 70or 71 72 $ cpanm Dist::Zilla::App::Command::stale 73 $ dzil stale --all | cpanm 74 75You can also do this via cpanm directly: 76 77 $ cpanm --reinstall --installdeps --with-develop --with-recommends Web::Machine 78 79Once installed, here are some dzil commands you might try: 80 81 $ dzil build 82 $ dzil test 83 $ dzil test --release 84 $ dzil xtest 85 $ dzil listdeps --json 86 $ dzil build --notgz 87 88You can learn more about Dist::Zilla at http://dzil.org/. 89 90The code for this distribution is [hosted at GitHub](https://github.com/houseabsolute/webmachine-perl). 91 92You can submit code changes by forking the repository, pushing your code 93changes to your clone, and then submitting a pull request. Detailed 94instructions for doing that is available here: 95 96https://help.github.com/articles/creating-a-pull-request 97 98If you have found a bug, but do not have an accompanying patch to fix it, you 99can submit an issue report [via the web](https://github.com/houseabsolute/webmachine-perl/issues) 100). 101This is a good place to send your questions about the usage of this distribution. 102 103## Travis 104 105All pull requests for this distribution will be automatically tested by 106[Travis](https://travis-ci.org/) and the build status will be reported on the 107pull request page. If your build fails, please take a look at the output. 108 109## Tidyall 110 111This distribution uses 112[Code::TidyAll](https://metacpan.org/release/Code-TidyAll) to enforce a 113uniform coding style. This is tested as part of the author testing suite. You 114can install and run tidyall by running the following commands: 115 116 $ cpanm Code::TidyAll 117 $ tidyall -a 118 119Please run this before committing your changes and address any issues it 120brings up. 121 122## Contributor Names 123 124If you send me a patch or pull request, your name and email address will be 125included in the documentation as a contributor (using the attribution on the 126commit or patch), unless you specifically request for it not to be. If you 127wish to be listed under a different name or address, you should submit a pull 128request to the .mailmap file to contain the correct mapping. 129 130This file was generated via Dist::Zilla::Plugin::GenerateFile::FromShareDir 0.012 from a 131template file originating in Dist-Zilla-PluginBundle-DROLSKY-0.63. 132