[fedora-java] Gradle upgrade issues (#976330)

David Walluck david at zarb.org
Mon Oct 21 19:23:28 UTC 2013

On 10/21/2013 11:55 AM, Mikolaj Izdebski wrote:
> yes, there are some version problems, most notably Objectweb ASM.
> Different Gradle dependencies use versions 3 and 4 (shaded to avoid
> namespace conflicts).  Fedora does not allow bundled libraries, which
> causes conflict between ASM 3 and 4.  (Porting from ASM 3 to ASM 4 is
> possible, but non-trivial as there were major changes. This would
> again require some work.)

You said exactly what I was thinking about gradle breaking API
compatibility between every release and its being a full language. I am
not sure what it says about a project like this when it can't even be
used to build itself. I have discussed the same things with others at
Red Hat.

I am not sure what you mean about asm. Fedora may not allow bundled
libraries, but it may allow two versions of a library in the case of
major incompatibility. The maven coordinates changed from 3 to 4, but
unfortunately most of the class names did not, leading to serious
problems if both versions are on the classpath at the same time. But,
this doesn't mean that it has to be bundled.

> Currently only few packages in Fedora are using Gradle which means
> that maintenance costs of Gradle outweight costs of porting other
> packages to different build systems.

Let's hope it stays that way. The response from certain gradle-using
projects was to just use the bundled `gradlew' (which goes online, so
really the gradle zip that it downloads). The fact that a private copy
of gradle is needed for every project release is not seen as a drawback.
Luckily, I only have to deal with two or three projects using gradle,
and I hope for your sake that it is the same in Fedora.

I think that although developers do not understand the type of build
issues that Fedora and Red Hat have to deal with, they do understand
that using gradle makes both their build dependencies and build code
very unmaintainable.

More information about the java-devel mailing list