A recent commit [1] to ClassInfo changed a private field from a Class to a
WeakReference<Class> (to address memory leaks).  In testing a project with
the latest snapshot as a dependency, the compileGroovy task fails [2]
because that field is referenced in an internal Gradle
class LeakyOnJava7GroovySystemLoader [3].

I haven't reported it yet on the Gradle forums yet, thought I'd post here
first since I know there's some Gradle folks on here to see what you
thought would be the best way to approach this (i.e., report, revert our
change, etc.).


[1]
https://github.com/apache/groovy/commit/a8fb776023253ebc2da35538f25eccd7d59997ed

[2] > Could not shut down the Groovy system for
org.gradle.internal.classloader.VisitableURLClassLoader@69048911
....
....
Caused by: java.lang.ClassCastException: java.lang.ref.WeakReference cannot
be cast to java.lang.Class
        at
org.gradle.api.internal.classloading.LeakyOnJava7GroovySystemLoader.shutdown(LeakyOnJava7GroovySystemLoader.java:74)

[3]
https://github.com/gradle/gradle/blob/711f64233b1b3ed312dee00f1215e2609ce41210/subprojects/core/src/main/java/org/gradle/api/internal/classloading/LeakyOnJava7GroovySystemLoader.java#L74

Reply via email to