"For those about to hack, I salute you!"
Note that you probably should install both Java 6 and Java 7 JDKs. We develop and ensure the source code is Java 6, but run all tests on Java 7 as well (prior to a release). We cannot just support Java 7 at this point. Android code, in particular, does not yet support Java 7.
The Timing Framework source code is setup to be worked on within the Eclipse Java IDE. It is probably pretty simple to get it working in another IDE but Eclipse is by far the easiest right now. So to hack the Timing Framework code download a copy of Eclipse and then install Subversion.
The Timing Framework project uses Subversion as its source code control system (because Java.net GIT setup doesn't seem to work too well with Eclipse's GIT client). Getting Subversion installed is, sadly, pretty difficult so I'll go through the steps.
If you are going to check out the Android Timing Framework source code you must add the Android SDK to your Eclipse. Follow the steps described at http://developer.android.com/sdk. If you are not interested in Android you can skip this step and not check out the timingframework-android project below.
If you are going to check out the SWT Timing Framework code you must import the SWT library project into your Eclipse workspace. This project is named org.eclipse.swt. Follow the steps described at http://www.eclipse.org/swt/eclipse.php. If you are not interested in SWT you can skip this step and not check out the timingframework-swt project below.
Once Eclipse restarts, go back to the SVN Repository Exploring perspective and add a new repository location:
You should not need a user or password for this java.net location. If you have a java.net user fill that connection in as shown in the image below, but use your java.net user instead of mine.
The promises project in this SVN repository contains annotations that are used to document and tool-verify the thread-safety of the Timing Framework implementation using SureLogic JSure. We will check out the promises project below.
Next, still in to the SVN Repository Exploring perspective, and another new repository location:
You should not need a user or password for either of these locations. If you have a java.net user fill that connection in as shown in the image below, but use your java.net user instead of mine.
This repository contains the up to the minute source code for the Timing Framework.
Open up the new repository locations and check out the code projects (under trunk) as shown in the image below.
A few notes:
The release zips for timingframework-android, timingframework-swing, timingframework-swt and timingframework-core are built using the build-release.xml Ant scripts at the root of each project.
One property must be set in the timingframework-core/lib/release.properties file. release-version sets the number of the release. E.g., 5.1 or 6.0. An example is shown in the image below.
You are ready to hack! (Caesar is clapping)
If you improve the code and want to contribute it back to the project. Create a new JIRA issue and attach a patch file that contains your code changes. It is easy to create a patch file within the Eclipse IDE. Select the project (or projects) that changed, right-click and select Team | Create Patch... and follow the steps in the dialog that appears.