Bug 1266550

Summary: gradle should define minimal required version of dependencies
Product: [Fedora] Fedora Reporter: Pavel Alexeev <pahan>
Component: gradleAssignee: Mikolaj Izdebski <mizdebsk>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: java-sig-commits, mgoldman, mizdebsk, msimacek, mspaulding06, msrb
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 2.7-2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-09-28 14:48:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Pavel Alexeev 2015-09-25 15:04:21 UTC
Description of problem:
I'm on Fedora 22, upgrade gradle from rawhide:
$ dnf upgrade gradle --enablerepo=rawhide

It installs, but does not work:
$ gradle --version
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dsun.java2d.pmoffscreen=false -XX:+UseCompressedOops -XX:+DoEscapeAnalysis -XX:+AggressiveOpts -XX:+EliminateLocks -XX:+UseParallelGC -XX:+UseNUMA -XX:+TieredCompilation
java.lang.IllegalArgumentException: Cannot find JAR 'dom4j.jar' required by module 'gradle-ui' using classpath or distribution directory '/usr/share/gradle'
        at org.gradle.api.internal.classpath.DefaultModuleRegistry.findDependencyJar(DefaultModuleRegistry.java:224)
        at org.gradle.api.internal.classpath.DefaultModuleRegistry.module(DefaultModuleRegistry.java:118)
        at org.gradle.api.internal.classpath.DefaultModuleRegistry.loadModule(DefaultModuleRegistry.java:92)
        at org.gradle.api.internal.classpath.DefaultModuleRegistry.getModule(DefaultModuleRegistry.java:80)
        at org.gradle.api.internal.classpath.DefaultModuleRegistry.module(DefaultModuleRegistry.java:124)
        at org.gradle.api.internal.classpath.DefaultModuleRegistry.loadModule(DefaultModuleRegistry.java:92)
        at org.gradle.api.internal.classpath.DefaultModuleRegistry.getModule(DefaultModuleRegistry.java:80)
        at org.gradle.api.internal.DefaultClassPathProvider.findClassPath(DefaultClassPathProvider.java:33)
        at org.gradle.api.internal.DefaultClassPathRegistry.getClassPath(DefaultClassPathRegistry.java:34)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:47)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)

Version-Release number of selected component (if applicable):

$ rpm -q dom4j gradle
dom4j-1.6.1-25.fc23.noarch
gradle-2.7-1.fc24.noarch

$ dnf history info 205
Last metadata expiration check performed 0:11:42 ago on Fri Sep 25 17:51:39 2015.
Transaction ID : 205
Begin time     : Fri Sep 25 17:59:36 2015
Begin rpmdb    : 2976:6a1ae69a37e35730ff5c45780210d14dbbf0f9f3
End time       :            17:59:39 2015 (3 seconds)
End rpmdb      : 2976:fa64b1f342dbfb8174ecf8c8f0236d1eb7c1241e
User           :  <pasha>
Return-Code    : Success
Command Line   : upgrade dom4j --enablerepo=rawhide
Transaction performed with:
    Installed     dnf-1.1.1-2.fc22.noarch     @updates
    Installed     rpm-4.12.0.1-12.fc22.x86_64 @updates
Packages Altered:
    Upgraded dom4j-1.6.1-22.fc21.noarch @fedora
    Upgrade        1.6.1-25.fc23.noarch @rawhide


$ dnf upgrade dom4j --enablerepo=rawhide

Solve problem.
How reproducible:
Always

Comment 1 Pavel Alexeev 2015-09-25 15:10:55 UTC
There also some other broken links:
$ ll `find /usr/share/gradle/lib . -type l -xtype l`
lrwxrwxrwx 1 root root 46 сен 14 15:35 /usr/share/gradle/lib/bndlib.jar -> /usr/share/java/aqute-bnd/biz.aQute.bndlib.jar
lrwxrwxrwx 1 root root 36 сен 14 15:35 /usr/share/gradle/lib/jetty-jsp.jar -> /usr/share/java/jetty/apache-jsp.jar
lrwxrwxrwx 1 root root 47 сен 14 15:34 /usr/share/gradle/lib/maven-builder-support.jar -> /usr/share/java/maven/maven-builder-support.jar
lrwxrwxrwx 1 root root 50 сен 14 15:35 /usr/share/gradle/lib/pmaven-common.jar -> /usr/share/java/tesla-polyglot/polyglot-common.jar
lrwxrwxrwx 1 root root 50 сен 14 15:35 /usr/share/gradle/lib/pmaven-groovy.jar -> /usr/share/java/tesla-polyglot/polyglot-groovy.jar

Comment 2 Pavel Alexeev 2015-09-25 15:18:49 UTC
At least upgrading next packages with dependencies also needed:

maven-3.3.3-3.fc23.noarch
aqute-bndlib-2.4.1-2.fc24.noarch
jetty-jsp-9.3.3-1.fc24.noarch
tycho-pomless-0.0.1-0.2.git91b0b65.fc23.noarch
kryo-3.0.1-2.fc23.noarch.rpm

Comment 3 Mikolaj Izdebski 2015-09-28 06:51:14 UTC
Mixing packages from different Fedora versions is not supported in general. I have added a few versioned dependencies to fix dangling symlinks, but there is no guaranty that this will make rawhide's gradle work on Fedora 22.

Comment 4 Mikolaj Izdebski 2015-09-28 06:51:35 UTC
Fixed in gradle-2.7-2

Comment 5 Mikolaj Izdebski 2015-09-28 14:48:12 UTC
I believe that this bug is fixed in gradle-2.7-2,
which is available in Fedora Rawhide, so I am closing this bug now.

The build containing the fix can be found at Koji:
http://koji.fedoraproject.org/koji/buildinfo?buildID=688339

Comment 6 Pavel Alexeev 2015-12-08 22:19:12 UTC
Thank you.