From b2bdd33c4606930b58276c94252e3d630fd516f5 Mon Sep 17 00:00:00 2001 From: Dan Yeaw Date: Mon, 1 May 2017 01:56:11 +0000 Subject: [PATCH] Add contribution guide, closes #7 --- CONTRIBUTING.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..729762c026 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,66 @@ +Feel free to hack Gaphor. Patches are welcome. + +Fetching Development Dependencies +================================= + +Gaphor uses Easy Install to manage in easy way its dependencies. + +To fetch and install dependencies as non-root user + +1. Create ~/.pydistutils.cfg file + + [install] + install_lib = ~/opt/share/python2.5/site-packages + install_scripts = ~/opt/bin + +2. Create (or extend) PYTHONPATH variable + + export PYTHONPATH=~/opt/share/python2.5/site-packages + +3. Run setup.py script to fetch and install dependencies + + python setup.py develop + +Prefix ~/opt can be changed to something more suitable for your setup. + + +Above is based on + + http://peak.telecommunity.com/DevCenter/EasyInstall#traditional-pythonpath-based-installation + + +Running Tests +============= +To run tests on Unix machine + + Xvfb :2.0 & + DISPLAY=:2.0 nosetests gaphor/ 2>&1 | tee tests.log + + +Structure +========= + +Gaphor contains the following modules: + +UML +--- +The UML module contains the UML 2.0 data model. This part is +quite stable and it is unlikely that code has to be changed +here. + + NOTE: The code is generated from a Gaphor model: uml2.gaphor. This + file can be loaded in gaphor. + +diagram +------- +The diagram module contains items that can be placed in diagrams. +In most cases the classes NamedItem and Relationship can serve +as bases for your class. + +ui +-- +The user interface. This is where most of the work is to be done. + +misc +---- +Some utility stuff, such as Actions and aspects are put in here.