iJython Build Summary


JyPlot Build Summary


Continuous Integration

If you are not used to developing in a continuous integration environment you may be in for some culture shock. These notes on continuous integration may help.


Discussion of the metrics

With a shared code base we have to maintain some kind of commonly agreed upon coding standard. We know that having an optimal set of metrics does not equate to having a perfectly designed and debugged architecture but it does let us all trust that the code meets some minimal level of quality.

If you don't fix up the violations in your code then someone else will probably do it for you. If someone does clean up your code you may then experience problems merging your changes back into the svn repository. The simplest way to avoid this is to regularly check that your code is free of the issues that show up in these metrics.


Atlassian Software Tools

We just moved to using Clover for computing unit test code coverage. This has made the build twice as fast and the reports are much better. Thank you to Atlassian for donating a free license to the GeoCraft project.

We also plan to evaluate using Crucible and Bamboo.


Lint

There should be zero compiler warnings for the source code.

Same for the unit test lint.


Checkstyle

Ideally, there should be zero checkstyle violations.

Please remember to include copyright messages on all files.


Unit Tests

If the tests are broken then the build will be considered broken.

Don't pile new code into the svn repository while the build is broken.

Either fix the tests or go beat up the person who broke them.


Code Coverage

This page lets you see how much of your code is being exercised by running the unit tests.

When developing code you may prefer to use a plugin to your IDE such as Coverlipse.


JavaDoc

If you are like the rest of us you will find that your comments needs editing before they make sense when viewed in the JavaDoc pages.

JavaDoc errors captures the warnings produced when building the JavaDoc pages.

There should be no errors.