Gradle Newsletter, July 2019 ======== Welcome to the July 2019 newsletter. This issue covers the [Gradle 5.5.1 release][1], [Gradle Enterprise 2019.2.3 release][2], and [what's coming in Gradle 5.6][3]. ## New Gradle content * [Blog Post: Update on the new C++ plugins][4] * [Video: Software engineering and mastering the production of software, with Hans Dockter][5] * [Video: Dependency Management: Handling Conflicts and Customizing Resolution][6] * [Video: Gradle DSL Kotlin, performances des builds et autres nouveautés (from Breizhcamp)][7] * [Video: What's new in Gradle 5 (from Greach)][8] * [Video: Managing Dependencies for Spring Projects with Gradle (from Spring IO)][9] ## From the community * [Build Bigger, Better: Gradle for Large Projects][10] - a talk from Google Engineers Aurimas Liutikas and Xavier Ducrohet at Google I/O 2019 showing the best practices they use to scale Gradle for large projects. * [What's New in the Android Studio Build System][11] - a talk from Google I/O 2019 about what's been done in the last year and what's coming. * [Speed Up Your Android Project's Gradle Builds!][12] - a blog post from Joshua de Guzman with tips for speeding up Android builds including how to measure your build. * [Gradle task inputs & outputs][13] - a blog post from Maciek Opała about how incremental build works. * [Dependency Management at Gradle][14] - Cédric Champeau’s personal opinions on how the industry treats dependency management and how Gradle does some things a little better. * [Gradle, multi-project builds explained][15] - a blog post from Łukasz Gosiewski explaining how multi project builds are organized. * [Dockerized Dependency Check: Gradle plugin][16] - a blog post showing how to incorporate security vulnerability checking into your Gradle build from Pavel Mička. * [Re-running flaky tests in Gradle][17] - a blog post from Sergei Egorov showing one way to rerun flaky tests using a custom Gradle task. ### Releases * [Byte Buddy Gradle Plugin][18] - The library for code generation and bytecode manipulation for Java, [Byte Buddy][19], now has a Gradle plugin on the [Plugin Portal][20]. * [Gradle Initializr][21] - now includes JUnit 5 as an option for Java applications and can generate starter Gradle plugin projects. * [IntelliJ 2019.2 EAP6][22] - includes a dependency diagram for Gradle projects. Please try it out and vote on the bugs if they affect you. * [Eclipse 2019-06][23] - includes synchronization and auto build tasks. _If you have a talk, blog post, or plugin release 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][24]._ ## Gradle 5.5.1 In the last newsletter, we talked about the 5.5 release candidate. Since then, we released Gradle [5.5][25] and [5.5.1][26] which includes some important fixes listed in the release notes. The top features of the [Gradle 5.5][1] release are: * [the option to create Gradle plugins via Gradle init][27] * a way to [define custom artifact transforms on dependency resolution][28] * the ability to set [organization-level Gradle properties][29] * [updated documentation (including guides) to use the new C++ plugins][30] As with all releases, please upgrade to the newest version. > ./gradlew wrapper --gradle-version=5.5.1 ## Follow the Gradle milestones on GitHub Ever wonder when the next Gradle version will be released and whether or not a particular bugfix will be included? The build tool team uses milestones on GitHub. For example, this is [what's coming in 5.6 RC1][31]. As a release gets closer, a due date will also be assigned. Please note these are only estimates. Every Gradle release must be feature complete, documented, and pass all relevant regression tests before it can go out. ## Gradle Enterprise 2019.2.3 [Gradle Enterprise][32], our SaaS platform of data and infrastructure services that customers use to accelerate and optimize Gradle and Apache Maven™ builds, released version [2019.2.3][2] fixing some issues raised against 2019.2.2. ## Gradle Enterprise Maven Extension 1.1.4 The [Gradle Enterprise Maven Extension][33] enables Apache Maven™ builds to connect to a Gradle Enterprise server and take advantage of features such as build scans and local and remote build caching. The latest [Gradle Enterprise Maven Extension 1.1.4][34] release fixes some issues raised against 1.1.3. ## Upcoming events * July 16: [Improving Android Build Performance][35] - Gradle engineer Tony Robalik at Denver Droids. * July 16-19: [ÜberConf: Denver][36] - Gradle CEO Hans Dockter will deliver a keynote and a workshop with engineer Eric Wendelin. * July 18: [Einführung in Gradle][37] (Deutsch/German) - Gradle engineer Marc Philipp will present at the Mannheim JUG. * July 23-24: [Introduction to Gradle][38] - official online Gradle training. * July 26-28: [NFJS: Austin][39] * August 12-15: [DevOps World: SF][40] * August 19: [Build Cache Deep Dive][41] - official online Gradle training. * August 29: [Einführung in Gradle][42] (Deutsch/German) - Gradle engineer Benedikt Ritter will present at the Rhein JUG. * September 10-11: [Introduction to Gradle][38] - official online Gradle training. * September 12: [CloudBees Days: London][43] * September 24: [CloudBees Days: Frankfurt][44] * September 25: [Build Cache Deep Dive][41] - official online Gradle training. * September 26: [CloudBees Days: Stockholm][45] ## Job opportunities The Gradle Inc. engineering team continues to grow. We're currently looking for: * Gradle Enterprise (remote/USA) -- [Solutions Engineer][46] * Gradle Enterprise (remote/worldwide) -- [Back-end][47] and [Front-end][48] Software Engineers * Gradle Build Tool (remote/worldwide) -- [Software Engineer][49] The details of these and other open positions are available at [gradle.com/careers][50]. ---- _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][24]._ Until next time! —The Gradle Team -- Gradle Inc. 325 9th Street San Francisco, CA 94103 https://gradle.org %%unsubscribe%% (Unsubscribe from future Gradle emails) [1]: https://docs.gradle.org/5.5.1/release-notes.html [2]: https://gradle.com/enterprise/releases/2019.2/?utm_source=newsletter&utm_medium=email&utm_campaign=201907#changes-3 [3]: https://github.com/gradle/gradle/milestones [4]: https://blog.gradle.org/update-on-the-new-cpp-plugins [5]: https://www.youtube.com/watch?v=BRKYICBfGrE [6]: https://gradle.com/blog/dependency-management-part-2-handling-conflicts/?utm_source=newsletter&utm_medium=email&utm_campaign=201907 [7]: https://www.youtube.com/watch?v=3SgsnvV8Um4&list=PLv7xGPH0RMUQOQ5l4rySZ5aTbvnhlp4pn [8]: https://www.youtube.com/watch?v=RLU2f-4peEo [9]: https://www.youtube.com/watch?v=AADeX1AEmzU [10]: https://www.youtube.com/watch?v=sQC9-Rj2yLI [11]: https://www.youtube.com/watch?v=LFRCzsD7UhY [12]: https://dev.to/joshuadeguzman/speed-up-your-android-project-s-gradle-builds-1366 [13]: https://blog.softwaremill.com/gradle-task-inputs-outputs-fde13271b451 [14]: https://melix.github.io/blog/2019/07/dependency-management.html [15]: https://dook.pro/blog/java/2019/06/05/gradle_multi_project_builds_explained.html [16]: https://medium.com/zoom-techblog/dockerized-dependency-check-gradle-plugin-580ba9eb71b1 [17]: https://bsideup.github.io/posts/gradle_flaky_tests/ [18]: https://github.com/raphw/byte-buddy/tree/master/byte-buddy-gradle-plugin [19]: https://bytebuddy.net [20]: https://plugins.gradle.org [21]: https://gradle-initializr.cleverapps.io/ [22]: https://blog.jetbrains.com/idea/2019/06/intellij-idea-2019-2-eap6-gradle-dependencies-diagram-and-more/ [23]: https://youtu.be/AeRm4_kCh8U?t=451 [24]: mailto:newsletter@gradle.com [25]: https://docs.gradle.org/5.5/release-notes.html [26]: https://docs.gradle.org/5.5.1/release-notes.html#fixed-issues [27]: https://docs.gradle.org/5.5.1/release-notes.html#build-init-plugin-improvements [28]: https://docs.gradle.org/5.5.1/userguide/dependency_management_attribute_based_matching.html#sec:abm_artifact_transforms [29]: https://docs.gradle.org/5.5.1/release-notes.html#define-organization-wide-properties-with-a-custom-gradle-distribution [30]: https://github.com/gradle/gradle-native/blob/master/docs/RELEASE-NOTES.md#changes-included-in-gradle-55 [31]: https://github.com/gradle/gradle/milestone/106 [32]: https://gradle.com/?utm_source=newsletter&utm_medium=email&utm_campaign=201907 [33]: https://gradle.com/blog/build-scans-and-build-caching-for-maven-with-gradle-enterprise/?utm_source=newsletter&utm_medium=email&utm_campaign=201907 [34]: https://docs.gradle.com/enterprise/maven-extension/?utm_source=newsletter&utm_medium=email&utm_campaign=201907#gradle_enterprise_maven_extension_release_history [35]: https://www.meetup.com/DenverDroids/events/kchhnqyzkbvb/ [36]: https://uberconf.com/conference/denver/2019/07/home [37]: http://www.majug.de/2019/07/18/einfuehrung-in-gradle/ [38]: https://gradle.com/training/introduction-to-gradle-07232019/?utm_source=newsletter&utm_medium=email&utm_campaign=201907 [39]: https://nofluffjuststuff.com/austin [40]: https://www.cloudbees.com/devops-world/san-francisco [41]: https://gradle.com/training/build-cache-deep-dive/?time=1566172800&utm_source=newsletter&utm_medium=email&utm_campaign=201907 [42]: https://www.meetup.com/rheinJUG/events/263091876/ [43]: https://www.cloudbees.com/cloudbees-days#london [44]: https://www.cloudbees.com/cloudbees-days#frankfurt [45]: https://www.cloudbees.com/cloudbees-days#stockholm [46]: https://boards.greenhouse.io/gradle/jobs/1540307 [47]: https://boards.greenhouse.io/gradle/jobs/217786 [48]: https://boards.greenhouse.io/gradle/jobs/206107 [49]: https://boards.greenhouse.io/gradle/jobs/85251 [50]: https://gradle.com/careers?utm_source=newsletter&utm_medium=email&utm_campaign=201907