Gradle 2.14-rc-1 is now available for testing

The Gradle team is pleased to announce Gradle 2.14-rc-1.

The team is always working to improve the overall performance of Gradle, and this release does not disappoint. Gradle’s configuration time has dropped considerably through the application of some careful optimizations. The Gradle build itself has seen a 50% reduction in configuration time. You’ll see the biggest impact on multi-project builds and Android builds amongst others, but everyone will benefit to some degree. This is reason enough to upgrade.

In other news, the Gradle daemon has become self-aware. Not in the AI sense, sadly, but you will find the daemon to be much more robust and resource-efficient now because it monitors its memory usage. It’s much less likely that you will need to manually kill daemons, which means you can more reliably use the daemon on your continuous integration servers.

There are several other quality-of-life improvements for various users, including IntelliJ IDEA support for Play framework projects, and a fix that makes authoring plugins easier. In addition, we mentioned in our 2.13 release notes that composite build support is coming in Buildship 2.0. This amazing new feature will require Gradle 2.14 as a minimum version.

Finally, it’s time to start preparing for the departure of an old friend. Gradle 2.14 sees the deprecation of Java 6. It has been with us a long time now, reaching its official End of Life in 2013. You will still be able to use Java 6 with Gradle 2.14, but you won’t be able to run Gradle 3 on it.

Enjoy the new version and let us know what you think!

Check the 2.14-rc-1 release notes for more information. If no regressions are reported, a final release will typically follow in the next week.

Upgrade Instructions
Switch your build to use Gradle 2.14-rc-1 quickly by updating your wrapper properties:

./gradlew wrapper --gradle-version=2.14-rc-1

Standalone downloads are available at https://gradle.org/release-candidate.

Reporting Problems
If you find a problem with Gradle 2.14-rc-1, please post a reply to this topic or create a new topic in Bugs. Be sure to include which operating system you are using, the version of Gradle you upgraded from and any steps you have found that reproduces your problem.

This topic is now a banner. It will appear at the top of every page until it is dismissed by the user.

There is a known compatibility issue with Gradle 2.14-rc-1 and Gradle plugins. The release notes mention that A number of plugins were converted from Groovy to Java. This breaks the binary compatibility of the API exposed by some of the Gradle core plugins that were converted from Groovy to Java. For example, the Shadow plugin breaks because of this change. The Gradle Team is working on a fix to restore binary compatibility on the public Gradle API classes.

Everything fine with my personal two projects. Event the > Building output glitch from 2.13 that I mentioned previously seems to be fixed.

Our company project does not work with 2.14-rc-1.

There’s some plugin incompatibility that breaks Gradle before it’s done with its configuration - but it looks very different from the known issue mentioned above. See StackTrace.

Thanks for the report @huxi . The dependency-management-plugin compatibility issue has been solved in release branch and should be part of rc-2 when it gets released.

1 Like

Maybe another dependency issue. This is actually from code that I used in Idiomatic Gradle and it occurs only when using default dependencies, combined with dynamic class loading such as the case is with Asciidoctor… It passes 2.0-2.13, but fails under 2.14-rc-1.

Caused by: java.lang.ClassNotFoundException: org.apache.ivy.core.settings.XmlSettingsParser
	at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

I have isolated it into a smaller project, which is here: https://github.com/ysb33r/SampleProjects/tree/GradleNewModel/IvyFailureWithDefaultDependencies

2 Likes

Thanks for the reproducible sample: I’ll take a look.

Just curious, why did you convert some plugins from Groovy to Java?

Edit: nevermind, forgot to search: Gradle plugins converted from Groovy to Java
Sorry for the noise.

1 Like

Thanks for reporting, Schalk. Here’s the relevant ticket: https://issues.gradle.org/browse/GRADLE-3456

1 Like

I’m testing Shadow with the 2.14-rc-1 and have encounted a couple issues.
First, I can’t run the current release (v1.2.3) on 2.14-rc-1 due to this issue: https://issues.gradle.org/browse/GRADLE-3455

If I updated the version of Gradle that I compile Shadow with to 2.14-rc-1, then I encounter an issue where task methods that have overloaded signatures are dispatching to the wrong method.
This Gist shows the problem:

Thanks @jengels. I’ve reproduced this issue. We’re working on a fix for the next RC.

This topic is no longer a banner. It will no longer appear at the top of every page.

Thanks @CedricChampeau. It looks like the problem has been resolved in RC-2.