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 6:45 AM, E Myhre <ladraove@xxxxxxxxx> wrote:
> If there's consideration of kicking the maven habit, and dependency management comes up at the same time, might I suggest trying MDM?
>
> https://github.com/heavenlyhash/mdm
>
> It uses git to manage dependencies, with some special history constructions to make sure bloat isn't a problem even with blobs.  Submodules are used so that exact hashes ensure builds are repeatable.  And the whole thing is implemented using jgit :)

Interesting. In Gerrit we extended Buck to have a maven_jar() rule
that knows how to acquire a JAR from Maven:

maven_jar(
  name = 'gson',
  id = 'com.google.code.gson:gson:2.1',
  sha1 = '2e66da15851f9f5b5079228f856c2f090ba98c38',
  license = 'Apache2.0',
)

It downloads the JAR from the Maven repository, and verifies the SHA-1
before allowing it as an input into the build. Not as "git friendly"
as mdm, but its still effective at ensuring the build runs with the
correct input.

The maven_jar() rule caches the downloaded files into
~/.gerritcodereview/buck-cache allowing you to rerun builds from a
clean environment without touching the network. And
tools/download_all.py does a fetch of every network JAR into the
cache, making it easy to get an environment setup from nothing and
able to work without network access.


Back to the top