Gradle Newsletter, August 2020 ======== Welcome to the August 2020 Gradle Build Tool newsletter. This issue covers news from the community, a new major performance optimization called configuration cache, and the latest Gradle and Gradle Enterprise releases. ## From the Community ### Blog Posts - [New APIs in the Android Gradle Plugin][1] - provides a preview of the new APIs in the upcoming Android Gradle Plugin 4.1 version - [Easy modularity: Keeping your Gradle build scripts clean and eliminating duplication in your multi-module projects][2] - demonstrates how to use [precompiled script plugins][3] to cleanly organize build logic in a multi-project build - [The proper care and feeding of your Gradle build][4] - demonstrates how to use [Dependency Analysis Gradle Plugin][5] to get rid of unused dependencies, unused annotation processors, and more - [Gradle - Continuous Build][6] and [Gradle - running tests in Continuous Build][7] - explains how to use Gradle’s [continuous build][8] feature to speed up your feedback loop - [Micronaut - Reloading using Gradle's Continuous Build][9] - demonstrates using the continuous build with Micronaut app - [Skipping Tests With Gradle][10]) - explains different options to skip tests with Gradle - [How to create a REST API for your App with Spring Boot, Kotlin & Gradle][11] - provides a step-by-step tutorial series on Spring Boot with Gradle - [How To: Sorting and Reporting Your Dependencies Versions with Gradle][12] - shares a customized way of managing project dependencies and using [Gradle Versions Plugin][13] to keep them up-to-date ### Other - [YourKit 2020.7][14] added support for Gradle run configurations in Intellij IDEA ## From the Gradle Build Tool Team ### Introducting Configuration Caching Reducing the feedback time for incremental builds, especially in the IDE, has been the key focus of the Gradle Build Tool team in recent months. Gradle 6.6 ships with a highly experimental opt-in for [configuration cache][15]. The new performance feature allows Gradle to skip the configuration phase entirely when nothing that affects the build configuration, such as build scripts, has changed. It also allows running more work in parallel and other performance optimizations. We’ve seen dramatic improvements in build times with early adopters and we are looking forward to rolling out this improvement more widely. However, note that many community plugins and a number of core features are yet to be updated to be compatible with configuration cache. See also [Introducing Configuration Caching][16] from Gradle Team and [Configuration Caching Deep Dive][17] from Android Studio Team blog posts. ## Gradle Releases ### Gradle 6.6 Gradle 6.6 has been released. The highlight of this release is the experimental opt-in for the configuration cache mentioned above. This release also includes [stability improvements to file-system][18] watching announced in the previous version. Other improvements in this release include [improved handling user-provided credentials][19] and [support for the Java --release flag][20]. See [release notes][21] for details. ### Gradle Enterprise 2020.3 Gradle Enterprise 2020.3 has been released. This release features Distributed Testing performance improvements, more powerful Build Scan search capabilities, and other improvements. See [release notes][22] for details. ## Related Releases ### IntelliJ IDEA 2020.2 Intellij IDEA 2020.2 has been released. This release provides project name completion and navigation for project names in `build.gradle` files. ## Upcoming Events * __Aug 19__ 9:00 am PT (2.5 hours): [Workshop: Maximize Developer Productivity with Fast and Reliable Gradle and Maven Builds][23] * __Sep 15-16__ 8:30 am PT (4 hours each day): [Training: Intro to Gradle][24] * __Sep 18__ 9:00 (3.5 hours): [Training: Maven Build Cache Deep Dive][25] See the [Gradle Training webpage][26] for an up-to-date list of all upcoming educational and training events. ---- _If you have some news you’d like us to share in the next issue, use `#gradle` on Twitter or send us an email with the details to [newsletter@gradle.com][27]._ Until next time! —The Gradle Team -- Gradle Inc. 325 9th Street San Francisco, CA 94103 https://gradle.org (Unsubscribe from future Gradle emails) [1]: https://medium.com/androiddevelopers/new-apis-in-the-android-gradle-plugin-f5325742e614 [2]: https://dev.to/autonomousapps/easy-modularity-keeping-your-gradle-build-scripts-clean-and-eliminating-duplication-in-your-multi-module-projects-3pa [3]: https://docs.gradle.org/current/userguide/custom_plugins.html#sec:precompiled_plugins [4]: https://dev.to/autonomousapps/the-proper-care-and-feeding-of-your-gradle-build-d8g [5]: https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin [6]: https://blog.nareshak.com/gradle-continuous-build/ [7]: https://blog.nareshak.com/gradle-running-tests-in-continuous-build/ [8]: https://docs.gradle.org/current/userguide/command_line_interface.html#sec:continuous_build [9]: https://blog.nareshak.com/micronaut-reloading-using-gradles-continuous-build/ [10]: https://www.baeldung.com/gradle-skip-tests?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+Baeldung+(baeldung [11]: https://proandroiddev.com/how-to-create-a-rest-api-for-your-app-with-spring-boot-kotlin-gradle-part-1-first-controller-c19fe075e968 [12]: https://ed-george.github.io/articles/15-07-2020/gradle-sorting-reporting [13]: https://github.com/ben-manes/gradle-versions-plugin [14]: https://www.yourkit.com/changes/#ide [15]: https://docs.gradle.org/current/userguide/configuration_cache.html [16]: https://blog.gradle.org/introducing-configuration-caching [17]: https://medium.com/androiddevelopers/configuration-caching-deep-dive-bcb304698070 [18]: https://docs.gradle.org/6.6/release-notes.html#stability-improvements-of-file-system-watching [19]: https://docs.gradle.org/6.6/release-notes.html#conventions-for-handling-user-provided-credentials [20]: https://docs.gradle.org/6.6/release-notes.html#javacompile-release [21]: https://docs.gradle.org/6.6/release-notes.html [22]: https://gradle.com/enterprise/releases/2020.3/ [23]: https://gradle.com/training/developer-productivity-workshop/?time=1597795200&utm_source=newsletter&utm_medium=email&utm_campaign=202008 [24]: https://gradle.com/training/introduction-to-gradle/?time=1600128000&utm_source=newsletter&utm_medium=email&utm_campaign=202008 [25]: https://gradle.com/training/maven-build-cache-deep-dive/?time=1600387200&utm_source=newsletter&utm_medium=email&utm_campaign=202008 [26]: https://gradle.com/training/ [27]: mailto:newsletter@gradle.com