RFD: Maven Repository Specification

Marcus Better marcus at better.se
Mon Jan 19 20:19:34 UTC 2009


Hi,

Torsten Werner wrote:
> I have written a proposal on how to ship Maven pom files in Debian
> packages at <http://wiki.debian.org/Java/MavenRepoSpec>. I would to
> get an early feedback from you.

This part: 

  "In a later upstream version 'c' adds another depends 'i' and that means
that we have to change all reverse depends of 'c' including 'a' (like
adding i.jar to DEB_JARS in debian/rules)."

Only if 'i' is really a build-dep of 'a', in which case we will have to
update the build-deps of 'a' anyway, contrary to the next sentence:

  "But Maven will do this automatically for us and we do not have to touch
reverse depends of any package when the dependencies change."

> - install the artifacts into a Maven repository at /usr/share/maven-repo/
> - create unversioned symlinks to binary jars in /usr/share/java/

This is way too invasive and Maven-centric. The build system should not
dictate where files are installed in Debian. I would prefer the other way
around: symlinks in $REPO, and files installed elsewhere (for example the
current locations, to avoid moving existing files around).

There are several projects that publish Maven artefacts but are not built
with Maven, for instance Grails. There is no point in forcing its artefacts
into /usr/share/maven-repo.

A related issue is coexistence with Ivy and Gradle, which I think we must
have in Debian soon. Ivy can handle Maven repositories just fine so I
cannot think of any real problems. But it might be useful to install Ivy
descriptors (perhaps in addition to Maven poms) in a native Ivy repository,
since its dependency model is much more refined.

Great to see that you've managed to take on this important task, I think it
can lead to great progress in Debian Java.

Cheers,

Marcus





More information about the pkg-java-maintainers mailing list