Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jgit-dev] Buck based build system for JGit?

On Fri, Oct 18, 2013 at 12:30 AM, Matthias Sohn <matthias.sohn@xxxxxxxxx> wrote:
> On Fri, Oct 18, 2013 at 5:01 AM, Shawn Pearce <spearce@xxxxxxxxxxx> wrote:
>> Its official, I have lost motivation to work on JGit because working
>> on JGit means using Maven. I don't want to use Maven.
>> Is there interest in having a parallel build system using Buck? I
>> realize we cannot eliminate Maven as easily in JGit because we need to
>> create P2 bundles, and Tycho helps out a lot there.
> I also thought about this. So far we have 2 builds in JGit to overcome the
> boring limitation that Tycho can't create maven artifacts in addition to
> OSGi artifacts.
> Only the second one (jgit packaging build) creating features and p2
> repository is
> using Tycho.
> So we could start by first trying to build and test the jgit bundles using
> buck and keep
> the packaging build (which is only needed for OSGi consumers) using Tycho.

Yes, this was my thought as well.

Fortunately the existing JGit build process is stable, we don't
typically make changes beyond updating the version element in the
pom.xml files. If we can avoid updating it the Maven process should
still work for Windows contributors and P2 release builds.

> I can talk to our local Tycho committers what effort they would estimate
> to port creation of features and p2 repository to another build system so
> that we
> get an idea how to also eliminate Maven from the packaging build.

This may not be worth the effort? Buck is a different animal from
Maven. Adding features to Buck is still not a simple process.

> Some more topics which come to my mind when thinking about moving to buck
> - generating javadoc
> - signing on Eclipse build server
> - running Findbugs, clirr (for API analysis)

Heh. I forgot about these additional steps in the Maven build.

> - Hudson/Jenkins integration
> - Windows support
> Maybe we could use Ant to fill some of the gaps at least in the beginning.

Or a genrule. Maven can mostly do what Ant does, and where it can't
run a genrule, and if the genrule is complex, write it in portable

> I am willing to spend time to explore this since I have been bitten
> by shortcomings of Maven many times.

It took me a while to port the build for Gerrit. I expect JGit will
also take some time, but I can start working on it. Be nice if I could
include some lessons learned from the JGit project into my talk at

Back to the top