incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Darren Shepherd" <dar...@godaddy.com>
Subject RE: [DISCUSS] Please choose: The build system to use for 4.0
Date Mon, 20 Aug 2012 17:10:45 GMT
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 <HTrippaers@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:darren@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.Mellor@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:shadowsor@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.Mellor@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: akarasulu@gmail.com [mailto:akarasulu@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 <olamy@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" <david@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

Mime
View raw message