RunCodeRun is a hosted Continuous integration environment developed by Relevance. Thanks to the Relevance team and their effort to provide this service free for opensource projects.
I wanted to build rapa on RunCodeRun. I was trying to setup my project on RunCodeRun using instructions in a blog post. It is a very useful blog and easy to follow. But I was having trouble getting code to compile on runcoderun box. Here are the problems and their solutions.
I guess there is no real jdk on runcoderun, so my compile task on ant would not work.
I checked in tools.jar as a part of my project libraries. Then I added it as part of the classpath when invoking ant from rake.
classpath = [File.join(".","lib","ant.jar"), File.join(".","lib","tools.jar"), File.join(".","lib","junit.jar"), File.join(".","lib","ant-junit.jar"), File.join(".","lib","ant-launcher.jar")].join(File::PATH_SEPARATOR)
system "java -cp #{classpath} org.apache.tools.ant.Main -emacs dist"
Even after I fixed that the build would always go green even if there was failure from ant
I guess the exit status returned by rake was always zero irrespective of what ant returned. I changed the rakefile as shown below.
system "java -cp #{classpath} org.apache.tools.ant.Main -emacs dist"
exit $?.exitstatus
This seemed to fix all the issues with the build.
Along with these issues I was also facing an issue with ant-junit task with junit 4. Basically standard distribution of ant does not understand the annotations of junit4 and requires the test class to extend TestCase. I had to checkout the latest source from ant subversion trunk and build it. I am currently using these jars.
Have a look at the project in github.
http://github.com/harikrishnan83/rapa
Continuous integration on.