Return-Path: X-Original-To: apmail-incubator-cloudstack-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-cloudstack-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B24AEDBC7 for ; Tue, 4 Sep 2012 21:23:24 +0000 (UTC) Received: (qmail 20605 invoked by uid 500); 4 Sep 2012 21:23:24 -0000 Delivered-To: apmail-incubator-cloudstack-dev-archive@incubator.apache.org Received: (qmail 20512 invoked by uid 500); 4 Sep 2012 21:23:24 -0000 Mailing-List: contact cloudstack-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cloudstack-dev@incubator.apache.org Delivered-To: mailing list cloudstack-dev@incubator.apache.org Received: (qmail 20503 invoked by uid 99); 4 Sep 2012 21:23:24 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Sep 2012 21:23:24 +0000 X-ASF-Spam-Status: No, hits=0.7 required=5.0 tests=RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [109.72.87.137] (HELO smtp01.mail.pcextreme.nl) (109.72.87.137) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Sep 2012 21:23:16 +0000 Received: from [IPv6:2a00:f10:11c:ab:8476:3e93:c5d6:ee37] (unknown [IPv6:2a00:f10:11c:ab:8476:3e93:c5d6:ee37]) by smtp01.mail.pcextreme.nl (Postfix) with ESMTPA id 9204776209 for ; Tue, 4 Sep 2012 23:22:56 +0200 (CEST) Message-ID: <50467130.8030000@widodh.nl> Date: Tue, 04 Sep 2012 23:22:56 +0200 From: Wido den Hollander User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120827 Thunderbird/15.0 MIME-Version: 1.0 To: cloudstack-dev@incubator.apache.org Subject: Re: Maven status (from my point of view) References: <6DE00C9FDF08A34683DF71786C70EBF029B4AF8E@SBPOMB402.sbp.lan> In-Reply-To: <6DE00C9FDF08A34683DF71786C70EBF029B4AF8E@SBPOMB402.sbp.lan> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 >