incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Olivier Lamy <ol...@apache.org>
Subject Re: [DISCUSS] Please choose: The build system to use for 4.0
Date Mon, 20 Aug 2012 07:47:33 GMT
Nice stuff. (note you can have Apache pom as parent to inherit some
stuff and reduce pom size)

In an other incubating project depending on jars not in maven central,
we have setup a m2 repo in apache-extras (see
http://svn.codespot.com/a/apache-extras.org/kalumet-extras/)

--
Olivier

2012/8/19 Darren Shepherd <darren@godaddy.com>:
> 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



-- 
Olivier Lamy
Talend: http://coders.talend.com
http://twitter.com/olamy | http://linkedin.com/in/olamy

Mime
View raw message