Timothy Lethbridge edited this page Jun 14, 2016 · 2 revisions
Clone this wiki locally

Building Your Project

Our build server is up and we should strive to keep it green at least 90% of the time, and ensure that if it is every red, then priority #1 is getting it back the green (avoiding the broken window syndrom).

The server is available at

or simply

All build related files are found in /build directory, and in /src you will find the exact version of ant that we are using to build Umple with.

Personally, I find documentation regarding CruiseControl very difficult, because the product has been translated into so many languages (similar to xUnit framework, many languages have their own "version" of CruiseControl for continuous integration).

There are three modes for running locally.

Running within Eclipse (or any other IDE with Junit support).

You are more familiar with YOUR IDE than a wiki page, so no more help on running tests in Eclipse or Netbeans, or, ....

Doing an incremental build to check you have no compilation errors

ant -Dmyenv=local -f build.umple.xml umpleSelf compile packageMainJar

Running the basic tests

ant -Dmyenv=local -f build.umple.xml template.test

This simply runs the tests. The task will pass, even if the some tests fail, but it will show you a nice HTML display of what failed (see 'test results' below) and why.

Do a full build

ant  -Dmyenv=local

This will emulate as much as possible the build server. It will clean-up your bin directories, move around some configuration and codegen files. And will compile your application twice (i.e. first to make the new version of Umple based on the current version, and then to use that version to make itself again, now based on the most recent version.

Test results

To see the results of tests open the following in your local repository.


On the build server, the results of testing after every commit are available at:

If things go wrong

Check the following page for a list of things to do or not do, and a process for recovery from problems: AvoidingMessInDevelopmentEnvironment