Should the current master have all of these changes now? Following
your procedure and then executing a './waf rpm' leaves me with no RPMs
and the messages:
[386/386] copy: usage/conf/log4j-cloud_usage.xml.in ->
artifacts/default/usage/conf/log4j-cloud_usage.xml
Error: Could not find or load main class com.cloud.api.doc.ApiXmlDocWriter
[INFO] Scanning for projects...
Build failed: -> task failed (err #1):
{task: xmlapi -> commands.xml}
I do have
./artifacts/rpmbuild/BUILD/cloud-4.0/server/src/com/cloud/api/doc/ApiXmlDocWriter.java,
so I'm not sure if there's a path missing or if the order in which
things are being done is wrong.
On Tue, Sep 4, 2012 at 8:12 AM, Hugo Trippaers
<[email protected]> 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?
> * 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
>