Hey all,

The switch to maven is coming along nicely I think, however we are not there 
yet. With the dependencies gone from the tree, the maven build is now the 
easiest way to build CloudStack IMHO. All classes are properly compiled and 
stored in jar files and dependencies are automagically downloaded to make sure 
everything compiles. Over the last few days I've added packaging of the 
systemvm.iso to the maven files and I did some work on the awsapi. The awsapi 
is proving to be difficult as it has multiple results (.mar, .aar, .jar files 
and a webapp). Maven doesn't really like this. On the other hand, maven has 
plugins to deal with axis2 and generate everything, so with a  bit of work we 
should be able to simplify this. Test code is not compiled in some cases as 
there are some interesting circular references (test code for server depending 
on vmware plugin comes to mind), that needs to be sorted if we want maven to be 
able to do its job.

I've spend the last two days to get packaging back into something that looks 
workable. Even though we want to move away from waf, it seemed like the best 
way to fix the packaging for now. With the exception of awsapi all RPM packages 
are being built on my dev environment so that is looking good. I don't have a 
debian environment yet, so I'm not able to test a debian build. I haven't done 
any testing on the rpms yet, just verified that they are build, hoping to do 
that tomorrow.

Couple of questions that I would like some feedback on:
* Maven includes the dependencies with their original filename, I believe we 
used to ship our deps with cloud- prepended to the name. Now we need to either 
check if our dependencies aren't already supplied by the OS or put them in a 
different directory, like /usr/share/java/cloud/*jar. What is the best route to 
take?
* Awsapi should be split in three sub projects (directories)  I think, the 
autogenerated ec2 part, the autogenerated e3 part and cloudstack own code which 
might be distributed as a webapp. 
* I've split the server rpm in two, one called server and contains all oss 
stuff and one called server-nonoss containing the modules that depend on 
non-oss libs, is that ok?

Darren, is this more or less in line with the stuff you are doing?

Feedback, ideas, complaints anyone?

Will send an update when there is something to report.

Cheers,

Hugo

Reply via email to