XP Studio homeXP Studio at SourceForge.net



Glad to see you on this page, since it means that you are considering a contribution of your own work to the XP Studio project. We welcome anything: bugfixes, new plugins, unit tests, documentation improvements, build process simplification, etc. Please read the section about getting started first.

This document assumes you are working with the Subversion version of XP Studio and that you are familiar with the development tools we use: Subversion, Ant, JUnit, and Eclipse.

Quality matters

Being a project about XP, we naturally focus a lot on quality, both internal (refactoring, unit tests), and external (acceptance tests).

Like most projects today, we use JUnit to unit test our code. Since we're practicing test driven development, we should have a code coverage of (very close to) 100%. We use Cobertura to enforce that.

Besides using unit testing, we use FIT for acceptance testing.

Both unit and acceptance tests should run (and pass!) when executing ant clean verify.

If you add new end user features, remember to document them. This includes adding user stories for end user documentation, and JavaDoc for developer documentation.

Your contribution should always adhere to the developer guidelines.

Submitting your contribution

Once you have made sure that your changes pass the verify goal, and everthing is documented, you are ready to submit your work.

If you have created new files, put them in a zip file. If you have changed existing files, create a unified diff using Subversion. To do that, open a command line, cd to the home directory of XP Studio (where build.xml is located) and execute svn diff -u > mychanges.patch.

Create a new item in our patch tracker and add the zip/patch files you created. Make sure the text in the tracker explains the purpose of your contribution. When you create a tracker entry, a notification email about your contribution will automatically be sent to the issues mailing list. We will respond to them on the developer mailing list, so be prepared to answer questions and do some polishing work.

We are not only lazy but at times we are also busy with our day jobs. This means that you might not always get an immediate answer. You are not being ignored, and we value your work - we might just be too busy to review your code, especially if it is a bit complex. If you don't get a response within two weeks, feel free to send a reminder email about your tracker item to the developer mailing list.