Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [egit-dev] How to build [EJ]Git?

onsdagen den 6 januari 2010 17.23.16 skrev  Shawn O. Pearce:
> Robin Rosenberg <robin.rosenberg@xxxxxxxxxx> wrote:
> > onsdagen den 6 januari 2010 14.15.38 skrev  Thomas Hallgren:
> > > Would you be interested in what Buckminster could do to build
> > > egit/jgit?
> 
> This conversation keeps going around in circles.  But.
> 
> I didn't actually try to use Buckminster to do the builds.
> It might work.  In theory.
> 
> For JGit my requirements on the build process are basically:
> 
> * Stable build tool.  Alpha products which can't compile our simple
>   code need not apply.
> 
> * Produce OSGi bundles for consumption by P2.
> * Must use proper Import-Package lines in the manifest.
> 
> * Produce Maven pom files for consumption by Maven 2.x consumers.
> * Must use proper <dependency> lines so transient dependencies are
>   correctly identified by consumer and used.
> 
> * Must run from command line.
> * Must run from Hudson CI.
> * Must not require baroque installation of itself.
> 
> * Must deploy artifacts to a Maven 2.x repository.
> * Must deploy artifacts to a P2 repository.
> 
> * Must be documented well enough that a new contributor to JGit can
>   "dig into" the build process and make changes if they need to.
> 
> 
> Right now, Tycho doesn't meet these.
> 
> Athena being a pile of Ant scripts which I can't find very good
> documentation on failed a lot of these points.  Sure it might be
> able to build the P2 repository, but installation is a bit insane.
> (Check out files from CVS in order to fire a build for a Git
> implementation?  Really?)
> 
> Maven 2.x gets as close as I could find without writing my own
> obsecure tools which would fail the documentation and installation
> requirements.  :-)
> 
> 
> Given how difficult JSch is to work with, and my committer status
> on the Apache MINA SSHD project, I may within the next year split
> the TransportSSH apart into two different implementations and start
> to also offer not just the JSch based client, but also a MINA SSHD
> based client.  Doing that will create a _much_ larger dependency
> chain for that particular section of JGit.
> 
> So I am looking for a buil tool that is going to understand and
> know how to deal with this larger dependency chain, without making
> me go off and rewrite the downstream project's build processes
> from scratch.
> 
> Unfortunately, due to the Eclipse foundation policies regarding
> imports of 3rd party code into Orbit, I may have no choice but to
> import MINA SSHD and all of its dependencies, and rewrite their
> build processes anyway, just so I can link against it as an optional
> dependency for our non-Eclipse IDE based consumers.
> 
> > > We build it the same way headlessly as it is built in your workspace.
> > > No manifest generation etc. is needed.
> >
> > Before the Eclipse files were removed an the maven stuff was brought in I
> > could do headless builds too (PDE build) so publishing a new version was
> > no problem at all. It was a simple command. I guess buckminster does
> > essentially that, but perhaps without the ugly Ant scripts PDE build
> > needs, plus my wrappers for setting parameters.
> >
> > git://rosenberg.homelinux.net/EGIT-pdebuild
> > git://rosenberg.homelinux.net/JGIT-pdebuild
> 
> Wow.  This is the first I've heard of you having an automated build.
> Here I thought you were building the update site by hand from the UI.
> 
> Why wasn't this part of the project?
> 
Because i felt it was a piece of ^w"w not properly done and with the wizards 
on our side of the force we'd get something done the right way,

-- robiin


Back to the top