Gradle Newsletter, January 2021 ======== Happy building in the new year! Welcome to the January 2021 Gradle Build Tool newsletter. This issue covers the news for the community and the new releases of Gradle Build Tool and Gradle Enterprise. ## From the Community ### Blog Posts - [Build, Compile, Run: A Crash Course in Classpaths][1] - explains fundamentals of classpaths and class loaders in Java and how they are used by Gradle - [Android — Keeping Release and Debug Installed All the Time][2] - shows how to have both debug and release versions of an Android app installed on a device by using Gradle build types - [The Problem with Gradle][3] - shares difficulties with learning Gradle and how to overcome them (see also the response from one of Gradle engineers at [The problem with Gradle: really?][4]) - [Simple Demo of Gradle Parallel Tests][5] - demonstrates how to set up a Gradle build to run tests in parallel - [How to Debug Dependency Conflicts in Maven and Gradle][6] - shows a few examples of troubleshooting and fixing dependency conflicts in Gradle and Maven - [How to Configure Gradle][7] - explains different dependency configurations in Gradle - [Publishing an Obfuscated Kotlin Library][8] - describes how to obfuscate a JAR with [Proguard][9] and Gradle - [Write a Custom Gradle Plugin for Your Android App (Part 1)][10] - describes how to create a simple Gradle plugin - [Improved Security Testing for Git-based Gradle Projects Using Lockfile][11] - describes how to use [dependency locking][12] and how Snyk uses Gradle’s lockfile to detect vulnerable dependencies in Gradle builds ### Podcasts and Videos - [The Developers' Bakery - #01 Gradle Doctor with Nelson Osacky][13] - discusses the [Gradle Doctor][14] plugin - [Developer Productivity Engineering Android | Build Scans Part 2 - Usage][15] - demonstrates [build scans][16] ## From the Gradle Team ### Introducing Java Toolchains Gradle 6.7 introduced Java toolchain support which was further enhanced in Gradle 6.8. This feature provides an easy way to declare with what Java version the project should be built. It detects installed JDKs and downloads one if needed. Learn more in the [blog post][17]. ### Upgrading Gradle Survey We published a [survey][18] asking about the user experience when upgrading Gradle so we can improve it. Your opinion is important to us and we would appreciate it if you could spend a few minutes answering those questions. ## Gradle Releases ### Gradle 6.8 Gradle 6.8 has been released. This release includes a much faster Kotlin DSL compilation and other performance optimizations, improvements to Java toolchain support including vendor selection, convenient execution of tasks in composite builds, new APIs for consistent dependency resolution, and other improvements. See [release notes][19] for details.
Faster Kotlin DSL script compilation in Gradle 6.8
### Gradle Enterprise 2020.5 Gradle Enterprise 2020.5 has been released. It features Distributed Testing for Maven builds which executes your existing test suites faster by distributing them across as many machines as you provide. See the [release notes][20] for details. ## Other Releases ### IntelliJ IDEA 2020.3 IntelliJ IDEA 2020.3 has been released. It provides better debugging for Gradle. See [what's new][21] for details. ### New Versioning Scheme for the Android Gradle Plugin Google announced that the versioning of the major versions of the Android Gradle Plugin (AGP) will be aligned with Gradle versions after AGP 4.2 (currently in beta), starting from AGP 7.0 (currently in alpha). See the [blog post][22] for details. ## Careers If you share our passion for developer productivity and tooling, consider joining our globally distributed team and check out our job openings at [gradle.com/careers][23]. ## Upcoming Featured Event
On Thursday, January 28 (9am PT), Gradle will launch the first episode of DevProdEng Showdown. This is a series of live-streamed 30-minute events where a panel of distinguished experts debate hot topics related to DevProdEng in a rapid-fire game show-like format. This episode’s topic is “__How Best to Achieve Java Development Productivity at Scale__” and this episode’s All-Star panelists include: Kyle Morre (LinkedIn); Roberto Perez Alcolea (Netflix), Simona Bateman (Fitbit), and Hans Dockter (Gradle). [Click here][24] to learn more and register. ## Upcoming Events * __Jan 21__ 9:00 am PT (3.5 hours): [Training: Maven Build Cache Deep Dive][25] * __Jan 25-26__ 8:30 am PT (4 hours each day): [Training: Introduction to Gradle][26] * __Jan 28__ 9:00 am PT (30 minutes): [Showdown: DevProdEng - Java Enterprise Edition][24] * __Feb 17__ 9:00 am PT (2.5 hours): [Training: Gradle Build Cache Deep Dive][27] * __Mar 23-24__ 8:30 am PT (4 hours each day): [Training: Introduction to Gradle][28] See the [Gradle Training webpage][29] 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][30]._ 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://dev.to/autonomousapps/build-compile-run-a-crash-course-in-classpaths-f4g [2]: https://medium.com/snapp-mobile/android-keeping-release-and-debug-installed-all-the-time-43f5812d6637 [3]: https://www.bruceeckel.com/2021/01/02/the-problem-with-gradle/ [4]: https://melix.github.io/blog/2021/01/the-problem-with-gradle.html [5]: https://kousenit.org/2020/11/22/simple-demo-of-gradle-parallel-tests/amp/ [6]: https://www.javaadvent.com/2020/12/how-to-debug-dependency-conflicts-in-maven-and-gradle.html [7]: https://www.javacodegeeks.com/gradle-configuration.html [8]: https://dev.to/iurysza/publishing-an-obfuscated-kotlin-library-2kbk [9]: https://www.guardsquare.com/en/products/proguard [10]: https://medium.com/better-programming/write-a-custom-gradle-plugin-part-1-22b37c3b7326 [11]: https://snyk.io/blog/security-testing-git-based-gradle-projects-lockfile/ [12]: https://docs.gradle.org/current/userguide/dependency_locking.html?utm_source=newsletter&utm_medium=email&utm_campaign=january_2021 [13]: https://thebakery.dev/01/ [14]: https://github.com/runningcode/gradle-doctor [15]: https://www.youtube.com/watch?v=KAa9VZ4YlTs&feature=youtu.be [16]: https://scans.gradle.com/?utm_source=newsletter&utm_medium=email&utm_campaign=january_2021 [17]: https://blog.gradle.org/java-toolchains?utm_source=newsletter&utm_medium=email&utm_campaign=january_2021 [18]: https://docs.google.com/forms/d/e/1FAIpQLSc9aQrjjsxVqXDkYR35ExeiI1yEIksRXVtN6asuaem084l3aA/viewform [19]: https://docs.gradle.org/6.8/release-notes.html?utm_source=newsletter&utm_medium=email&utm_campaign=january_2021 [20]: https://gradle.com/enterprise/releases/2020.5/?utm_source=newsletter&utm_medium=email&utm_campaign=january_2021 [21]: https://www.jetbrains.com/idea/whatsnew/#debugger [22]: https://android-developers.googleblog.com/2020/12/announcing-android-gradle-plugin.html [23]: https://gradle.com/careers [24]: https://gradle.com/devprodeng-showdown/?utm_source=newsletter&utm_medium=email&utm_campaign=gbt-newsletter [25]: https://gradle.com/training/maven-build-cache-deep-dive/?time=1611187200&utm_source=newsletter&utm_medium=email&utm_campaign=january_2021 [26]: https://gradle.com/training/introduction-to-gradle/?time=1611532800&utm_source=newsletter&utm_medium=email&utm_campaign=january_2021 [27]: https://gradle.com/training/build-cache-deep-dive/?time=1608163200&utm_source=newsletter&utm_medium=email&utm_campaign=january_2021 [28]: https://gradle.com/training/introduction-to-gradle/?time=1616457600&utm_source=newsletter&utm_medium=email&utm_campaign=january_2021 [29]: https://gradle.com/training/?utm_source=newsletter&utm_medium=email&utm_campaign=november_2020 [30]: mailto:newsletter@gradle.com