Gradle Newsletter, May 2022 ======== Welcome to the May 2022 Gradle Build Tool newsletter. Here is a collection of news, tips and insights from the community that you can add to your Gradle tool belt as well as updates on the recent releases. This edition is brought to you by Amanda Martin, the long-time reader of this newsletter and the first-time curator. As always, the great Gradle community has a breadth, depth and abundance of tips and wisdom. This edition lists some resources that will hopefully inspire you to learn something new or reach out to other community members. ## From the Community ### Blog posts - [The Javax → Jakarta Mess, it's Even Worse Than I Thought][1] - Follow-up to the article covered last month with a call to action to help create a list of all the dependency conflicts. This is a big problem, there are several potential solutions but none are fun or ideal. - [Tony's Rules for Gradle Plugin Authors][2] - A comprehensive list of some unspoken guidelines (or “rules” if you like that term) for plugin authoring, so that you don’t have to learn everything the hard way. - [A Bag of Properties][3] - There are a lot of properties. This post provides clarity on which ones to use and how to change them. Great list of which references docs to use and why. - [Gradle Version Catalogs for an Awesome Dependency Management][4] - Quick how-to for managing dependencies in Android Studio. Includes tips and common pitfalls. - [The Importance of Validating the Gradle Wrapper][5] - The how and why for checking your jar files along with the Github Actions needed to keep your project secure. - [Gradle Security Considerations][6] - A short list of security-related suggestions such as make sure all artifacts are signed properly, use only trusted Gradle plugins as well as Kotlin and Java compiler plugins. ### Videos - [Gradle for Beginners][7] by Philipp Lackner, a native Android Developer - Explains the core concepts of Android Gradle Plugin. If you are new or inexperienced with Android and Gradle this is a must see. - [10 Best Gradle Plugins You Can't Live Without][8] - Tom Gregory shares some of the most used Gradle Plugins. This is an awesome list! ### Plugins - [Android Gradle Plugin 7.2.0 ][9] - Warns if your build uses a Jetifier flag (that causes slower build performance). Use Build Analyzer to see if it is safe to remove flags. Most builds don’t need this anymore as AndroidX is pretty standard. - [Dependency Analysis Gradle Plugin v1.2.0][10] - Check the unused dependencies, the used transitive dependencies and dependencies declared on the wrong configuration. Yes, this also works for Android. - [Gradle Plugins Java libraries to Modules v0.12][11] - The plugin to turn traditional jars into Java Modules. This new release can merge jars that have split packages into a single Module. - [Java Module Dependencies Gradle Plugin v0.7][12] - The plugin to make Gradle use dependencies from module-info.java files automatically so you no longer need a dependencies { } block in Java Module projects for project dependencies. ## Test Retry Gradle Plugin 1.4.0 Some of your tests are flaky? The [Test Retry Gradle Plugin 1.4.0][13] plugin causes failed tests to be retried within the same task. After executing all tests, any failed tests are retried. The process repeats with tests that continue to fail until the maximum specified number of retries has been attempted, or there are no more failing tests. This new release runs samples against the latest released version of Gradle and uses the latest dependencies. ## 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][14]. We are looking for new teammates including software engineers, solutions engineers, data scientists, SEO & SEM manager, account executives and developer productivity engineers. ## Upcoming Events * __June 1__ 4:00 pm - 7:00 pm (US EDT): In-Person Workshop - [Introduction to Developer Productivity Engineering Workshop at Droidcon San Francisco][15] * __June 7__ 2:00 pm - 3:00 pm (US EDT): Virtual Training - [Gradle Enterprise Developer User Training][16] * __June 8__ 3:00 pm - 4:00 pm (EU CET): Virtual Training - [Gradle Enterprise Developer User Training][17] * __June 9__ 9:00 am - 12:00 pm (US PDT): Virtual Training - [Maven Build Cache Deep Dive][18] * __June 14__ 9:00 am - 12:00 pm (US PDT): Virtual Workshop - [Introduction to Developer Productivity Engineering][19] * __June 22__ 9:00 am - 12:00 pm (US PDT): Virtual Training - [Gradle Build Cache Deep Dive][20] * __July 14__ 1:00 pm - 2:00 pm (US EDT): DevProdEng Lowdown - [DevProdEng Lowdown: How Uber does Developer Productivity Engineering][21] See the [Gradle Training webpage][22] 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][23]._ 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://blog.ltgt.net/javax-jakarta-mess-even-worse/ [2]: https://dev.to/autonomousapps/tonys-rules-for-gradle-plugin-authors-28k3 [3]: https://www.liutikas.net/2022/04/25/A-Bag-Of-Properties.html [4]: https://proandroiddev.com/gradle-version-catalogs-for-an-awesome-dependency-management-f2ba700ff894 [5]: https://jdvp.me/articles/Gradle-Wrapper-Validation [6]: https://www.liutikas.net/2022/05/13/Gradle-Security-Considerations.html [7]: https://www.youtube.com/watch?v=o0M4f5djJTQ [8]: https://www.youtube.com/watch?v=5UJ0igllPuU [9]: https://developer.android.com/studio/releases/gradle-plugin [10]: https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin [11]: https://github.com/jjohannes/extra-java-module-info [12]: https://github.com/jjohannes/java-module-dependencies [13]: https://github.com/gradle/test-retry-gradle-plugin [14]: https://gradle.com/careers/ [15]: https://gradle.com/training/introduction-to-developer-productivity-engineering-droidcon-20220601/?time=1654041600 [16]: https://gradle.com/training/gradle-enterprise-developer-user-training-june-7/?time=1654560000 [17]: https://gradle.com/training/gradle-enterprise-developer-user-training-2/?time=1654646400 [18]: https://gradle.com/training/maven-build-cache-deep-dive-june/ [19]: https://gradle.com/training/introduction-to-developer-productivity-engineering-june/ [20]: https://gradle.com/training/gradle-build-cache-deep-dive/ [21]: https://gradle.com/training/devprodeng-lowdown-how-uber-does-developer-productivity-engineering/?time=1657756800 [22]: https://gradle.com/training/?utm_source=newsletter&utm_lsd=inbound&utm_campaign=dpe-newsletter&utm_medium=email [23]: mailto:newsletter@gradle.com