Hi,

Well I spent quite some time on the BlazeDS build and would say that I finally 
setup everything so we should have a valid no-deps build.

There were still a small set of problems in the ANT build that caused problems 
when initially building BlazeDS. Alex did fix most of the other problems 
though.  The clean tasks were trying to delete lib directories, which didn't 
exist if you hadn't built BlazeDS before ... extending a 
erroronmissingdir="false" to those problematic file-sets resolved these 
problems. Another problem was missing lib dirs while downloading stuff during a 
build. I added some mkdir commands to the download.xml in order to resolve this.

Now to the main problem with the build:

The old testsuite seemed to require a BlazeDS server running on the same 
machine (No matter what version of BlazeDS this was). Without this server being 
available, some of the tests would fail (Even if I was surprised how little 
tests actually did fail).

I have to admit that I'm not a big fan of builds where you have to setup 
external services and have Jenkins execute manual batch commands in order to 
have everything running. I prefer to have the test provide everything it needs. 
So I started working on a solution that uses Jetty to start a minimal BlazeDS 
server that is able to service the requests the testsuite needs. Fortunately 
this was quite easy. The only problem I had was that in core some tests 
actually required functionality from the remoting module. Now remoting having a 
dependency to core and core having one to remoting will not work. But I thought 
... if tests in core actually require functionality in remoting, they are 
actually not pure unit-tests and more of an integration test thing. What I did 
now was to add a "testsuite" module to the "modules" directory and moved all 
tests (actually only core had any) to that module. Now I was able to have the 
testsuite start a BlazeDS server of the exact same version we are currently 
building and to run all the tests against this without having to setup anything 
on the CI server.

I didn't however want to commit this without asking you guys here. First I 
would like to hear if there are any objections to that change ... so if there 
are any, I'm willing to hear them out first ;-)
Chris




Reply via email to