>I’ve been trying the Athena Common Builder on the XQuery incubator project with some odd ball dependencies on and off over the last few months.
- Tried the XQuery Incubator project in WTP-Incubator with Maps. Fail.
- Tried the XQuery Incubator project building from local workspace. Fail.
The problem with the XQuery project is that it has a Binary only bundle that it needs to jar up. However Athena is expecting there to be source code for it to compile so it gets confused. There are open bugs for this and you can see the conversation I had with Nick in the XQuery bug in the Dash project.
So this brings me around to another issue. Webtools current build can only be run on the Build machine. It used to be able to run outside of that machine but over the years it lost that ability. One of the items in Continuous Integration is that a developer should be able to run a build on any machine with minimum setup. Also Developers should run a local build before they check in code just to make sure everything works. In order for this to happen, the builds have to meet the following criteria:
- Be Insanely simple to setup and execute.
- Be Super FAST. (i.e. 10 minutes or less).
So as an experiment I decided to try and take Athena Common Builder and run it against a more traditional eclipse project and not try to do anything that deviates from the eclipse norm. I’ve been wanting a local build for XSL Tools for a while, so I figured that would be a good project to go with. Here is what I found out:
- XSL Tools builds successfully with Athena!!!!
- There are some gotchas though to getting it going.
The main thing with XSL Tools is that it is now also bundled with the standard WST download zip that comes from eclipse. So in order to get a successful build, I had to remove the XSL, XPath 2, and XPath jars from the zip. The other gotcha I ran into was a mistyping of where my Java Runtime environment resided. The last gotcha is that I need to figure out how to configure for a local build, and that is Jar signing. I don’t need it for a local build, and would rather skip it altogether for commit related builds.
Total runtime though was less than 5 minutes for compilation and checkout. So this is in the acceptable range. I know that the XSL Tools unit tests take less than 3 minutes to run (actually about 2 minutes total, running over 3000 unit tests). So even with unit testing completed, the build easily falls under the 10 minute time limit.
Update: To avoid signing of jars, in your build.properties file add: skipSign=true