diff options
| author | Michael Merickel <michael@merickel.org> | 2012-08-16 00:59:18 -0500 |
|---|---|---|
| committer | Michael Merickel <michael@merickel.org> | 2012-08-16 00:59:18 -0500 |
| commit | 717537cdd6611511f783542034f00cf0099d515e (patch) | |
| tree | 1f0a28530836a647713c22f2dd91767270f42458 /HACKING.txt | |
| parent | a54b5e46f63ff3154c5d9f191ad3b78a2f506a8a (diff) | |
| parent | 6b180cbb77d6c5bee0e75220d93fc1800d1217df (diff) | |
| download | pyramid-717537cdd6611511f783542034f00cf0099d515e.tar.gz pyramid-717537cdd6611511f783542034f00cf0099d515e.tar.bz2 pyramid-717537cdd6611511f783542034f00cf0099d515e.zip | |
Merge branch 'master' into feature.instance-properties
Diffstat (limited to 'HACKING.txt')
| -rw-r--r-- | HACKING.txt | 50 |
1 files changed, 33 insertions, 17 deletions
diff --git a/HACKING.txt b/HACKING.txt index 593e89ac1..87d1422dc 100644 --- a/HACKING.txt +++ b/HACKING.txt @@ -30,11 +30,13 @@ checkout. $ env/bin/easy_install setuptools-git - Install Pyramid from the checkout into the virtualenv using ``setup.py - develop`` (running ``setup.py develop`` *must* be done while the current - working directory is the ``pyramid`` checkout directory):: + dev``. ``setup.py dev`` is an alias for "setup.py develop" which also + installs testing requirements such as nose and coverage. Running + ``setup.py dev`` *must* be done while the current working directory is the + ``pyramid`` checkout directory:: $ cd pyramid - $ ../env/bin/python setup.py develop + $ ../env/bin/python setup.py dev - At that point, you should be able to create new Pyramid projects by using ``pcreate``:: @@ -85,6 +87,9 @@ Coding Style 2 newlines between classes. But 80-column lines, in particular, are mandatory. +- Please do not remove trailing whitespace. Configure your editor to reduce + diff noise. + Running Tests -------------- @@ -110,26 +115,37 @@ Test Coverage - The codebase *must* have 100% test statement coverage after each commit. You can test coverage via ``tox -e coverage``, or alternately by installing - ``nose`` and ``coverage`` into your virtualenv, and running ``setup.py - nosetests --with-coverage``. + ``nose`` and ``coverage`` into your virtualenv (easiest via ``setup.py + dev``) , and running ``setup.py nosetests --with-coverage``. + +Documentation Coverage and Building HTML Documentation +------------------------------------------------------ -Documentation Coverage ----------------------- +If you fix a bug, and the bug requires an API or behavior modification, all +documentation in this package which references that API or behavior must +change to reflect the bug fix, ideally in the same commit that fixes the bug +or adds the feature. -- If you fix a bug, and the bug requires an API or behavior - modification, all documentation in this package which references - that API or behavior must change to reflect the bug fix, ideally in - the same commit that fixes the bug or adds the feature. +To build and review docs (where ``$yourvenv`` refers to the virtualenv you're +using to develop Pyramid): -- To build and review docs: +1. Run ``$yourvenv/bin/python setup.py dev docs``. This will cause Sphinx + and all development requirements to be installed in your virtualenv. - 1. Install ``tests_require`` dependencies from Pyramid's setup.py into your - virtualenv. +2. Update all git submodules from the top-level of your Pyramid checkout, like + so: + git submodule update --init --recursive + This will checkout theme subrepositories and prevent error conditions when + HTML docs are generated. - 2. From the ``docs`` directory of the Pyramid checkout run ``make html - SPHINXBUILD=/path/to/your/virtualenv/bin/sphinx-build``. +3. cd to the ``docs`` directory within your Pyramid checkout and execute + ``make clean html SPHINXBUILD=$yourvenv/bin/sphinx-build``. The + ``SPHINXBUILD=...`` hair is there in order to tell it to use the + virtualenv Python, which will have both Sphinx and Pyramid (for API + documentation generation) installed. - 3. Open the _build/html/index.html file to see the resulting rendering. +4. Open the ``docs/_build/html/index.html`` file to see the resulting HTML + rendering. Change Log ---------- |
