Instructions for Developers and Contributors

Contributing to Mira

Viewing Mira's Source Code

You can view the source code in Mira's Bazaar repository (hosted by Launchpad) using our web-based Bazaar browsing system, powered by loggerhead.

Setting Up Your Programming Environment

If you wish to build Mira from its source code and perhaps work on it, you will need to set up your programming environment accordingly. Please see our instructions on which software and libraries to install for either Windows or Linux.

Getting Mira

To download the latest version of Mira you will need to use a program called Bazaar (bzr). If this program is not already installed and the instructions below fail for you, please see our guide on installing Bazaar.

If you are using Linux or a UNIX-based Operating System, run the following commands from a terminal window:

mkdir ~/mira
cd ~/mira
bzr branch lp:mira/trunk

If you don't want to check out the whole revision history (and make the checkout much faster) you can use the following bzr command instead:

bzr co --lightweight lp:mira/trunk

Building Mira

The build process can get quite messy because it creates a lot of files, so we recommend creating separate build directories outside the Mira branch, such as the following:

mkdir ~/mira/build-client/
mkdir ~/mira/build-server/

Now, to build and run the latest version of the Mira Client, you could run:

cd ~/mira/build-client/
cmake ../trunk/mira-client/
make
./bin/mira-client

Then, to build and run the latest version of the Mira Server:

cd ~/mira/build-server/
cmake ../trunk/mira-server/
make
./bin/mira-server

Testing Mira

Please read our testing process instructions for information on how Mira's developers conduct tests on the project's code.

To check the current list of bugs, please see our bug tracker. To submit a bug report, please first check that the bug you wish to submit is not already known and, if it is not, then we would appreciate it if you could report it in as much detail as possible.

Hacking on Mira

If you wish to contribute code or patches to Mira's client or server you must first complete and submit our Individual Contributor Licence Agreement form. This does not apply to the development of Mira Utilities, the documentation for which can be found here.

Once you have completed this form, you will be granted commit access to Mira's repository and be able to check in patches and code. Before you can push your changes to Mira's repository, you will need to configure Bazaar and your Launchpad account appropriately.

If you haven't already done so, visit Launchpad and create an account. Once you have done that, you will need to create an SSH key pair to use with Launchpad - this will be used to secure your Bazaar connection to the Launchpad server.

Finally, make sure Bazaar knows who you are by running the following commands (make sure to replace the details with your own):

bzr whoami 'My Name <my.name@mailserver.com>'
bzr launchpad-login yourLaunchpadUsername

You are now ready to commit your changes to Mira's repository. For more information, please read the Using Bazaar with Launchpad tutorial or the Useful Bazaar Techniques for Developers page.

Coding Standards

Mira's developers follow a selection of coding guidelines in order to maintain consistency throughout the source code. If you wish to contribute to Mira - and would like us to merge your contribution with the project's code as soon as possible - it is thoroughly advisable to follow our coding standards, whose text is available here.

Communicating with the Developer Community

Internet Relay Chat (IRC) Channel

Mira has registered the #mira channel on the FreeNode.net network. To connect to the network, use an IRC client such as xChat (Linux), mIRC (Windows) or Colloquy (Mac OS X).

If you would like to discuss some code which you have written, or perhaps an aspect of Mira's development or a feature which you would like to see implemented in Mira then please do not hesistate to join our IRC channel!

We have scheduled IRC sessions to discuss certain development topics. These sessions are all archived for future reference.

Mailing Lists

Another discussion medium which some prefer to the forum is Mira's development mailing list, and you'll probably find that most of the active discussions are conducted on the mailing list but the final decisions are announced on the discussion forums.

To subscribe to Mira's development mailing list, please visit this website and follow the instructions: Mira-Development mailing list

If, on the other hand, you would just like to hear announcements when a new version of Mira is announced or a milestone is achieved, please subscribe to Mira's Notification List instead.

Skype

Our developers also use the proprietary Voice over IP and Instant Messaging client Skype from time to time to have conference calls to discuss features which all of the developers must be absolutely clear about, or just to have a casual chat whether the topic of focus is Mira or not.

We also archive our notes from the conferences for future reference.

 
development/instructions.txt · Last modified: 2009/03/17 15:06 by j_k9
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki