Contributing¶
Welcome hackeratti! So you have got something you would like to see in
mom
? Whee. This document will help you get started.
Important URLs¶
mom
uses git to track code history and hosts its code repository
at github. The issue tracker is where you can file bug reports and request
features or enhancements to mom
.
Before you start¶
Ensure your system has the following programs and libraries installed before beginning to hack:
Setting up the Work Environment¶
mom
makes extensive use of zc.buildout to set up its work
environment. You should get familiar with it.
Steps to setting up a clean environment:
Fork the code repository into your github account. Let us call you
hackeratti
. That is your name innit? Replacehackeratti
with your own username below if it isn’t.Clone your fork and setup your environment:
$ git clone --recursive git@github.com:hackeratti/mom.git $ cd mom $ python bootstrap.py --distribute $ bin/buildout
Important
Re-run bin/buildout
every time you make a change to the
buildout.cfg
file.
That’s it with the setup. Now you’re ready to hack on mom
.
Enabling Continuous Integration¶
The repository checkout contains a script called autobuild.sh
which you should run prior to making changes. It will detect changes to
Python source code or restructuredText documentation files anywhere
in the directory tree and rebuild sphinx documentation, run all tests using
unittest2, and generate coverage reports.
Start it by issuing this command in the mom
directory
checked out earlier:
$ tools/autobuild.sh
...
Happy hacking!