Gradle Newsletter, July 2022 ======== Welcome to the July 2022 Gradle Build Tool newsletter. What a big month for the community! This edition features tips and insights from new faces and familiar favorites. From the Gradle team, we launched a new mentorship program, invited new members to the Gradle Fellowship, shared our ideas on remote/distributed builds, and simplified plugin publishing with a new plugin. ## From the Community ### Blog posts * [There Is No Single Dependency Graph][1] - We talk a lot about a project's dependency graph; this reminds us that dependencies are a more nuanced concept and need more careful consideration. * [Schrodinger's Input][2] - Having a remote cache miss is a common problem; here is a good use case for how to walk through the problem. * [Gradle Configuration Caching — Replacing a Build Listener With Build Services][3] - The example takes advantage of the full Configuration Cache potential while still collecting Gradle build information. * [First Steps Developing Custom Gradle Plugins][4] - Need custom build logic but not sure where to start? This introduction starts from nothing and uses the Gradle documentation to publish the custom build logic as plugins to mavenLocal. * [Run Groovy Shell in the Context of a Gradle Build][5] - Use ObjectBrowser GUI to explore the Gradle build context interactively. ### Videos * [Understanding Gradle #17 – Feature Variants][6] - Understand features in Java projects and see how to use them with variant-aware dependency management * [Understanding Gradle #18 – Configuring Testing][7] - Best practices for all things testing in Gradle. * [Gradle Tutorial - Crash Course][8] - Learn the basics by seeing details of a multi-module build. Good demo on the scope of implementation vs api dependencies. * [Writing Paparazzi Tests for Your Kotlin Multi Platform Projects][9] - This shows an example where they wanted to use `compose-jb` but the plugin was not compatible with Kotlin MultiPlatform. See an easy workaround. ## From Gradle Team ### Mentorship Program We are excited to launch our [Mentoring Program][10] to increase diversity inside the Gradle Build Tool community. Gradle Fellowship members volunteer their time and talent to mentor others. Applications for the first round of mentoring close soon; [apply][11] now. ### Gradle Fellowship Welcome to the [Gradle Fellowship][12] to [Chris Doré][13], [Cristian Garcia][14], [Ryan Harter][15], [Jendrik Johannes][16], [Aurimas Liutikas][17]. They go above and beyond with a dedicated commitment to sharing knowledge, and we are honored to have them in our community. ### Blog Posts Curious about remote and distributed builds? We just published a series of blog posts, [Remote and Distributed Build Patterns][18] which explains the differences between remote and distributed builds and variations on each, and [General Build Distribution: A Game-Changer or a Gimmick?][19] about the tradeoffs with general build distribution. ### Plugin Publish Plugin v1.0 Configuring the publication of Gradle plugins to the [Plugin Portal][20] happens with the help of the [Plugin-Publish plugin][21]. The recently released [version 1.0.0][22] of the plugin significantly improves the process by introducing stronger conventions and a more straightforward configuration. Read our [blog post][23] for more information. ## 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][24]. We are looking for new teammates, including software engineers, solutions engineers, SEO & SEM manager, account executives, and developer productivity engineers. ## Upcoming Events * **July 22** 12:00 pm - 3:00 pm (US EDT): Virtual Workshop - [Gradle Build Cache Deep Dive][25] * **July 26** 2:00 pm - 3:00 pm (US EDT): Virtual Training - [Gradle Enterprise for Productivity Engineers Training][26] * **July 27** 9:00 am - 10:00 am (US EDT): Virtual Training - [Gradle Enterprise for Productivity Engineers Training][27] * **July 28** 11:30 am - 3:30 pm (US EDT): Virtual Training - [Introduction to Developer Productivity Engineering][28] * **August 9** 8:30 am - 12:30 pm (US EDT): Virtual Workshop - [Introduction to Gradle Build Tool Course][29] See the [Gradle Training webpage][30] 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._ 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://melix.github.io/blog/2022/07/there-is-no-single-dependency-graph.html [2]: https://www.liutikas.net/2022/06/21/Schrodingers-Input.html [3]: https://proandroiddev.com/gradle-configuration-caching-replacing-a-build-listener-with-build-services-40bde11937f1 [4]: https://dev.to/rogervinas/first-steps-developing-custom-gradle-plugins-4m51 [5]: https://sandipchitale.medium.com/run-groovy-shell-in-the-context-of-a-gradle-build-f7469e437579 [6]: https://www.youtube.com/watch?v=XCzyUESaBHQ&list=PLWQK2ZdV4Yl2k2OmC_gsjDpdIBTN0qqkE&index=19 [7]: https://www.youtube.com/watch?v=7f_gBvGQN_0&list=PLWQK2ZdV4Yl2k2OmC_gsjDpdIBTN0qqkE [8]: https://www.youtube.com/watch?v=gKPMKRnnbXU [9]: https://msfjarvis.dev/posts/writing-paparazzi-tests-for-your-kotlin-multiplatform-projects/ [10]: https://blog.gradle.org/mentoring-program-annoucement [11]: https://forms.gle/b1Srxr1MyAhJvTvs9 [12]: https://gradle.org/fellowship/ [13]: https://discuss.gradle.org/u/chris_dore [14]: https://twitter.com/cristiangm_dev [15]: https://twitter.com/rharter [16]: https://onepiece.software/ [17]: https://www.liutikas.net/ [18]: https://blog.gradle.org/remote-and-distributed-build-patterns [19]: https://blog.gradle.org/general-build-distribution [20]: https://plugins.gradle.org/ [21]: https://plugins.gradle.org/plugin/com.gradle.plugin-publish [22]: https://plugins.gradle.org/plugin/com.gradle.plugin-publish/1.0.0 [23]: https://blog.gradle.org/simplifying-the-plugin-publish-plugin [24]: https://gradle.com/careers/ [25]: https://gradle.com/training/gradle-build-cache-deep-dive-july/?time=1658448000 [26]: https://gradle.com/training/gradle-enterprise-for-productivity-engineers-training-20220726/?time=1658793600 [27]: https://gradle.com/training/gradle-enterprise-for-productivity-engineers-training-20220727/?time=1658880000 [28]: https://gradle.com/training/introduction-to-developer-productivity-engineering-july/?time=1658966400 [29]: https://gradle.com/training/introduction-to-gradle-build-tool-course/?time=1660003200 [30]: https://gradle.com/training/?utm_source=newsletter&utm_medium=email&utm_campaign=january_2022