Ah that's annoying. We had to do this to workaround memory leaks with Groovy and Java 7 (and the name states). This change basically means that users will start seeing errors if they upgrade Groovy. Is it on `master` or 2.4.8? I would consider this a blocker for the release.
2016-09-19 1:49 GMT+02:00 John Wagenleitner <john.wagenleit...@gmail.com>: > 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/a8fb776023253ebc2da35538f25ecc > d7d59997ed > > [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/711f64233b1b3ed312dee00f1215e2 > 609ce41210/subprojects/core/src/main/java/org/gradle/api/ > internal/classloading/LeakyOnJava7GroovySystemLoader.java#L74 > >