Hacking
=======

Contributing
------------

There is still lots to do to improve this project.  If you would like to
contribute, check out the issue tracker, ``BUGS.txt`` and the ``TODO.txt`` for
details on outstanding work to be done.

Development Setup
-----------------

To check out that latest revision from the Mercurial repository, run::

  hg clone https://bitbucket.org/everyapp/bootstrap everyapp.bootstrap

Then, to bootstrap the development environment, run these commands::

  cd everyapp.bootstrap
  python bootstrap.py
  source bin/activate

Release HOWTO
=============

To make a release:

1. Update release date in ``doc/NEWS.txt``
2. Commit the changes and tag the release.
3. Generate the change log with
   ``hg log --style changelog > doc/ChangeLog.txt``
4. If this is an official release and not a development release, run
   ``python setup.py release sdist``
5. Otherwise, run ``python setup.py sdist``
6. Test the generated source distribution in ``dist/``
7. Upload to PyPI, run: ``python setup.py [release] sdist register upload``
8. Delete the generated doc/ChangeLog.txt file.
9. Increase version in ``setup.py`` (for the next release)
10. Add a new section to ``doc/NEWS.txt`` for the next release
11. Commit the changes.
12. Run ``python setup.py develop``
