Skip to content

Commit

Permalink
Add contribution guide, closes #7
Browse files Browse the repository at this point in the history
  • Loading branch information
danyeaw committed May 1, 2017
1 parent 43e96f8 commit b2bdd33
Showing 1 changed file with 66 additions and 0 deletions.
66 changes: 66 additions & 0 deletions 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.

0 comments on commit b2bdd33

Please sign in to comment.