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