I'm good at the moment, just chugging through all the minute details. I'll submit a patch for inclusion of all the pom files so that everyone can get it on master. Then I'll start working on how to get the existing rpm/deb builds to use maven to pull the deps.
Darren > -------- Original Message -------- > Subject: RE: [DISCUSS] Please choose: The build system to use for 4.0 > From: Hugo Trippaers <htrippa...@schubergphilis.com> > Date: Mon, August 20, 2012 2:09 am > To: "cloudstack-dev@incubator.apache.org" > <cloudstack-dev@incubator.apache.org> > > > Hey Darren, > > > > Good stuff, works like a charm. > > > > Following recent mails I believe we pretty much have a consensus on using > maven, so I think we can move ahead with this. Depending on the release > schedule we can or can't include it in 4.0, but that's no show stopper for > anybody. > > > > Anything I can do to help out? > > > > Cheers, > > > > Hugo > > > > > > > > -----Original Message----- > > From: Darren Shepherd [mailto:dar...@godaddy.com] > > Sent: Sunday, August 19, 2012 3:56 AM > > To: cloudstack-dev@incubator.apache.org > > Subject: RE: [DISCUSS] Please choose: The build system to use for 4.0 > > > > All, > > > > So I have maven fully functional. I sent an email regarding this but being > that it wasn't on this thread so it probably went un-noticed. So below is > basically a copy of that. > > > > If you want to get an idea of what maven would look like for CS, what I've > done is on the "maven" > > branch at https://github.com/ibuildthecloud/incubator-cloudstack.git > > > > I had to setup a custom repo to put all the non-oss libraries that don't > exist in the central maven repo. To build just do "mvn -s m2-settings.xml" > > > > That settings file will create a local repo (not use ~/.m2/repository) > because I was testing that all dependencies are coming from where I expected > and not polluted by other maven stuff I do. > > > > Its a multi module project so you can do things like "mvn -s m2-settings -am > -pl server" to just build the server portion (or core, or one of the tons of > plugins). I also tested that the build works with maven 2 and maven 3 and > that the Eclipse M2E plugin works with it too. > > > > I would love it if a maven god could review what I've done. If we're all > good with maven I'll gladly take this to full completion and start submitting > patches. Post 4.0 we can always improve (and I'm sure we will), but I feel I > know what's the bare minimum need to get this out the door and I can do that > (plus whatever nice to haves I can squeek in). > > > > Regarding the dev environment setup. We can do this with whatever little > amount of impact we want. Once you have the maven pom's you just install > Eclipse M2E (thats an eclipse foundation project) and then say "Import > Existing Maven Projects" and then magic ensues. The M2E plugin works pretty > darn well. It also has the great benefit that you can stop checking in > .classpath and .project files in the your version control because the pom.xml > has all the metadata Eclipse M2E needs to create a > > project. So my preferred approach would be to checkin the pom's and > > then delete the .classpath and .project files from git and have developers > re-import their projects into eclipse. If people don't like that I can use > some magic with the mvn depenendency:copy-dependencies to recreate the same > structure as whats in deps today to make the eclipse projects still work. > But I would grudgingly do that work as I would rather we just move forward > with a standard maven layout. Gotta learn sometime and I don't think its all > that difficult. > > > > Regarding the ant tasks, I want to keep backwards compatibilty so that the > main ant tasks still work but just internally call maven and not javac/jar > directly. > > > > So I vote we just let me do this and I'll get 'er done. > > > > Darren > > > > > > > > > -------- Original Message -------- > > > Subject: RE: [DISCUSS] Please choose: The build system to use for 4.0 > > > From: Ewan Mellor <ewan.mel...@eu.citrix.com> > > > Date: Fri, August 17, 2012 2:22 pm > > > To: "cloudstack-dev@incubator.apache.org" > > > <cloudstack-dev@incubator.apache.org> > > > > > > > > > Well, all our packages are going to be public, of course. That shouldn't > > be a problem! > > > > > > Ewan. > > > > > > > -----Original Message----- > > > > From: Marcus Sorensen [mailto:shadow...@gmail.com] > > > > Sent: 17 August 2012 14:19 > > > > To: cloudstack-dev@incubator.apache.org > > > > Subject: Re: [DISCUSS] Please choose: The build system to use for > > > > 4.0 > > > > > > > > I'm totally fine with a switch, my only concern was around when it's done. > > > > Aside from just implementing the build bits in the git repo (sounds > > > > like there are resources for this), I picture there being a bit of > > > > work on every developer's part to switch their dev environments. > > > > This might be as simple as a few package installs, but on at least > > > > one occasion when I was building something via Maven I had to spend > > > > the better part of an afternoon going back and forth with the > > > > network/systems guys because Maven needed to download some > > > > components and the applicable systems by default are internal-access > > > > only. It's things like that where I worry about switching build systems > > > when people are under a crunch to complete 4.0. > > > > > > > > On Fri, Aug 17, 2012 at 2:04 PM, Ewan Mellor > > > > <ewan.mel...@eu.citrix.com> > > > > wrote: > > > > > OK, so we've got offers of effort on Maven from Darren, Hugo, plus > > > > > review > > > > help from Olivier and Alex. Maven gets +1 from me, Alex, and Brett too. > > > > > > > > > > On the Ant side we've got +1 from Chip ("based on timeline"), > > > > > Wido, > > > > Marcus, and Mice. David has his deps-ctrl branch, but no-one has > > > > offered to finish the job. > > > > > > > > > > We have consensus that the release is going to slip by at least 3 > > > > > weeks (2 at > > > > the front and one at the end), which gives us four weeks total to > > > > get the build system done and debugged (i.e. between now and final > > > > release candidate on Sep 14). > > > > > > > > > > With that extra time, does that change anyone's opinion? It would > > > > > be nice > > > > to get consensus on this issue, otherwise we're going to have to put > > > > it to a vote. > > > > > > > > > > Thanks, > > > > > > > > > > Ewan. > > > > > > > > > > > > > > >> -----Original Message----- > > > > >> From: akaras...@gmail.com [mailto:akaras...@gmail.com] On Behalf > > > > >> Of Alex Karasulu > > > > >> Sent: 17 August 2012 03:11 > > > > >> To: cloudstack-dev@incubator.apache.org > > > > >> Subject: Re: [DISCUSS] Please choose: The build system to use for > > > > >> 4.0 > > > > >> > > > > >> On Fri, Aug 17, 2012 at 1:00 PM, Olivier Lamy <ol...@apache.org> wrote: > > > > >> > > > > >> > +1 for Apache Maven > > > > >> > > > > >> > > > > >> Ditto but this can happen any time and in parallel. I understand > > > > >> and appreciate the time limitations for the 4.0 release. > > > > >> > > > > >> > > > > >> > (but I agree my POV can be considered non objective :-) > > > > >> > ) or at least our own Apache dogfood. > > > > >> > I agree this can late for 4.0 (why not for 4.1) Btw if someone > > > > >> > push poc on a branch I can help to review as I have a bit of > > > > >> > experience on (and Brett too :-) ). > > > > >> > > > > > >> > > > > >> I'm not a Maven demigod like Brett, but I can help out here as well. > > > > >> > > > > >> > > > > >> > > > > > >> > Olivier > > > > >> > Le 16 août 2012 23:12, "David Nalley" <da...@gnsa.us> a écrit : > > > > >> > > > > > >> > > Hi folks, > > > > >> > > > > > > >> > > I am particularly limiting the scope of this to what we do > > > > >> > > for 4.0, since that is the pressing timeline. > > > > >> > > > > > > >> > > Here are the current options: > > > > >> > > > > > > >> > > * Continue using ant, and have the hacky stuff I wrote as ant > > > > >> > > targets deal with dependency resolution. (see the differences > > > > >> > > in the deps-ctrl > > > > >> > > branch) > > > > >> > > > > > > >> > > * Use Gradle (see the gradle branch) > > > > >> > > > > > > >> > > * Use Maven (I haven't seen any of this, but Darren reports > > > > >> > > that he has this building - Darren: can we see this somewhere > > > > >> > > publicly > > > > >> > > perhaps?) > > > > >> > > > > > > >> > > While I'd like to have us choose the system that we are going > > > > >> > > to use for all time (and despite some reservations, I think > > > > >> > > Maven is likely my personal choice for what we should move to > > > > >> > > long term), I am also concerned that we don't let the perfect > > > > >> > > become the enemy > > > > of the good. > > > > >> > > So given all of that - what should our choice be? > > > > >> > > > > > > >> > > --David > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > > >> > > > > >> -- > > > > >> Best Regards, > > > > >> -- Alex