incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wido den Hollander <w...@widodh.nl>
Subject Re: Maven status (from my point of view)
Date Tue, 04 Sep 2012 21:22:56 GMT


On 09/04/2012 04:12 PM, Hugo Trippaers wrote:
> 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?

I'd not prefix cloud-, to me that hints towards a homebrew version of 
that file.

Whenever a library/JAR is available through the package manager of that 
distribution I'm voting for depending on that with the RPM/DEB packages, 
that is one dependency resolved.

For example the MySQL connector is available under Ubuntu and Debian, I 
already made a commit for that [0].

Placing the rest in /usr/share/java/cloud is fine with me, that way we 
don't pollute the system.

Wido

[0]: 
https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=commit;h=9064236879dc9f2f11538d891271545e1ff10e9c

> * 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
>

Mime
View raw message