Gradle 3.3-rc-1 is now available for testing

Gradle 3.3 RC1 is now available

This release of Gradle makes gradle tasks much faster for medium-to-large projects. By default, gradle tasks will now only display tasks which have been assigned a task group. For example, execution time was reduced from 554 seconds to 3 seconds on our perf-enterprise-large benchmark projectover 100x faster!
See the technical details on how and why this change was made in the full release notes.

It is now possible to compile native applications using Visual Studio 2015. Gradle will locate the Universal C Runtime required by the Visual C++ toolchain.

Kotlin build script support has further improved with significantly faster startup performance, increased API parity with Groovy-based build scripts, and better interoperability with Groovy plugins. See the gradle-script-kotlin v0.5.0 release notes for details.

Scala compilation startup time in large multi-project builds has been improved through enhancements to Gradle’s integration with the Zinc Scala compiler. In earlier versions of Gradle, builds with many Scala projects could timeout and fail when building in parallel.

Tooling API generates more progress events. This means that IDEs will show a much clearer picture of what Gradle is doing during the configuration phase, resolving dependencies, and using composite builds. Details and pictures in the full release notes.

The Gradle GUI has been deprecated and will be removed in Gradle 4.0. An IDE which provides a UI for Gradle — IntelliJ IDEA, Eclipse, or NetBeans, for example, is recommended.

Check the full 3.3 RC1 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 3.3 RC1 quickly by updating your wrapper properties:

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

Standalone downloads are available at Gradle | Installation.

Heads up: In addition, if you previously generated the wrapper with Gradle 3.2, re-run ./gradlew wrapper to avoid a misconfigured wrapper script.

Reporting Problems

If you find a problem with Gradle 3.3 RC1, please file a bug on GitHub Issues adhering to our issue guidelines. If you’re not sure you’re encountering a bug, please use the forum.

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

Everything works with the usual projects.

Beside that, it looks like the fix for issue #933 also fixed the issue described in GRADLE-3555 and Sudden ClassNotFound exceptions, sometimes related to changed dependencies.

I hoped that those would have the same root cause and it looks very good so far.

I triggered multiple builds on our CI but without any failures at all. I can’t be 100% sure since the problem wasn’t reproducible reliably but I’m tentatively ecstatic.

Thanks a lot!

1 Like

The Findbugs logging appears to have changed. It now prints out non-fatal analyzer errors to the console.

The following errors occurred during analysis:
  Unable to get XClass for com/fabahaba/collision/cache/CollisionCache
    java.lang.IllegalArgumentException
      At org.objectweb.asm.ClassReader.<init>(ClassReader.java:170)
      At org.objectweb.asm.ClassReader.<init>(ClassReader.java:153)
      At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)

The error makes sense due to the library’s author writing it to experiment with JDK9. While the jar is on the classpath, the code path is disabled by default. This does not fail the task and merely spams the logs.

Hey Ben,

indeed we changed (improved) how we process logging from worker processes (like the findbugs process). Most likely this is the cause of the changed behaviour you’re seeing. We might update the release notes accordingly. Thanks again for letting us know and trying out the release candidate!

cheers,
René

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