82 lines
3.0 KiB
ReStructuredText
82 lines
3.0 KiB
ReStructuredText
..
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
|
|
===============
|
|
Developer Guide
|
|
===============
|
|
|
|
This page is for people who wish to contribute code to this project.
|
|
|
|
Developer Setup
|
|
---------------
|
|
Check out the source from head, switch to the source code's root directory, then run:
|
|
python setup.py develop
|
|
|
|
That will set up this project's src directory in the easy-install.pth file in site-packages.
|
|
|
|
Release Process
|
|
---------------
|
|
|
|
Checklist:
|
|
#. All newly-added code has a unit test
|
|
#. All tests pass cleanly (or have good reasons for not passing)
|
|
#. Change setup.cfg to have the appropriate tag ('dev', for example, or '' for a stable release)
|
|
#. Change setup.py to have the appropriate version number
|
|
#. Inline comments updated with changes
|
|
#. Sphinx doc updated with changes
|
|
#. Docs build cleanly
|
|
.. code-block:: bash
|
|
|
|
cd src/doc/src/
|
|
make html
|
|
|
|
#. pep8 runs without much complaint
|
|
.. code-block:: bash
|
|
|
|
pep8 --ignore=E501,W601 --repeat model.py
|
|
|
|
#. pylint runs without much complaint
|
|
.. code-block:: bash
|
|
|
|
pylint --disable=C0103,R0904,R0913,C0301,W0511 cmislibtest.py
|
|
|
|
#. All changes checked in
|
|
#. Tag the release using 'cmislib-[release num]-RC[x]'
|
|
#. Use the release script to build the release artifacts
|
|
.. code-block:: bash
|
|
|
|
cd dist
|
|
./release.sh -u jpotts@apache.org
|
|
|
|
This will do a 'setup.py bdist sdist' and will then sign all artifacts.
|
|
|
|
Note that the artifacts will be named without 'RC[x]'. These are the same artifacts that will be distributed if the vote passes.
|
|
|
|
#. Copy files to the Apache server under ~/public_html/chemistry/cmislib/[release num]
|
|
#. Start vote. Send an email to dev@chemistry.apache.org announcing the vote, highlighting the changes, pointing to the tagged source, and referencing the artifacts that have been copied to the Apache server.
|
|
#. After 72 hours, if the vote passes, continue, otherwise address issues and start over
|
|
#. Copy the files to the appropriate Apache dist directory, which is /www/www.apache.org/dist/chemistry/cmislib/[release num]
|
|
#. Rename the RC tag in source code control
|
|
#. Update the cmislib home page with download links to the new release
|
|
#. Upload files to Pypi
|
|
#. Check the `cheesecake <http://pycheesecake.org/>`_ score
|
|
.. code-block:: bash
|
|
|
|
python cheesecake_index --name=cmislib
|
|
|