https://github.com/robotframework/RIDE
Raw File
Tip revision: 9209c192cab7766d1b57dcf98b806c888a0492f9 authored by Mikko Korpela on 28 February 2012, 11:42:16 UTC
minor version 0.42.1
Tip revision: 9209c19
BUILD.rest
BUILD
=====

This document describes the technical details of the RIDE project:

 * How to build, run and test RIDE
 * What's in the source
 * How to contribute
 * How to make a release


Developing
==========

RIDE uses Paver__ as it's build tool. Packaging, testing, and running a
development version without installation can all be done using Paver. Install
Paver and run::

    paver help

for more information.

__ http://paver.github.com/paver


Repository contents
===================

Repository contains source code, unit tests, and some helper scripts for
development and package generation.

Source code
-----------

Source code is located in `src` directory. `src/bin` contains installed start
scripts and `src/robotide` contains the actual source code.


Unit tests
----------

Unit tests are in `utest` directory. They can be executed with::

  paver test



Contributing
============

Fork and send a pull request! To enhance the possibility of getting the pull
request merged, read guidelines below.


Coding guidelines
=================

In general, all the code should be written according to Style Guide for Python
Code [5] However, as stated in the Zen of Python, practicality beats purity.

Method names
------------

Typically, we use `lowercase_with_underscore` style for method names. Of
course, when overriding wx methods, `AllCapitalized` style must be used.
Additionally, there's a special case when writing event handler methods. We
have chosen to name event handlers following this pattern: `OnEventName` (e.g.
`OnMouseClick`).

Variable names
--------------

Instance variables also follow the `lowercase_with_underscore` naming
convention.  Additionally, a leading underscore indicates that the variable is
considered private.

Global variables (provided there's really a need for such) use `ALL_CAPS`
style.

Getters and setters
-------------------

We follow the Pythonic way of not implementing getters and setters in the case
where direct attribute access is sufficient


 http://www.python.org/dev/peps/pep-0008/


Releasing
=========
TODO: These are incomplete

::

  > version=0.xx
  > echo $version > VERSION.txt
  > git commit VERSION.txt -m 'Version $version'
  > git tag v$version
back to top