Gradle Newsletter, October 2018 ======== Welcome to the October Newsletter! This issue includes the releases of [Gradle 5.0 RC1][1], [Build Scan Plugin 2.0.1][2], and [Gradle Enterprise 2018.4.2][3], the introduction of [Exemplar][4], and assorted community news. ## From the community * [build.gradle vs. settings.gradle vs. gradle.properties][5] -- An informative article on what goes in each of the Gradle files by Kevin Wittek. * [What's wrong with your Gradle Task?][6] -- An explanation of how tasks work and how to avoid some of the most common mistakes in your build script by Maciek Opała. * [Android Studio Pro-tips][7] -- Some useful tips for Android Studio users by Jean-Michel Fayard. * [Dagger 2.18 Released with support for Gradle Incremental Annotation Processing][8] -- If you are using Dagger 2.18, you can enable incremental annotation processing by passing `-Adagger.gradle.incremental` to `javac` * [Gradle Play Publisher Plugin v2.0 RC was released][9] -- A plugin to help publish Android apps to the Google Play store has released a 2.0 release candidate. * [Tips and Tricks for using the Kotlin DSL][10] -- Some useful tips and tricks for the writing build scripts using the Kotlin DSL by Jean-Michel Fayard. * [Converting to the Gradle Kotlin DSL][11] (日本人/Japanese) -- The slidedeck from a tips and tricks talk given at the Japan Kotlin User Group by Matthew Vern. * [Setting Up Static Code Analysis for Java Projects Using Gradle][12] -- A guide/comparison of several available static code analysis tools for Java and how to add them using Gradle by Mladen Bolic. * [Using QueryDSL annotation processor with Gradle and IntelliJ IDEA][13] -- A tip for QueryDSL IntelliJ users by Tom de Vroomen. * [The Spring Boot Gradle Plugin Kotlin DSL exaples][14] -- The Spring Boot Gradle Plugin has added examples of both the Groovy and Kotlin DSLs. * [Kordamp Gradle Plugin Released][15] -- A set of opinionated Gradle plugins that aim to simplify Gradle builds by Andres Almiray. * [JMH Report Plugin][16] - Version 0.9.0 of the JMH report plugin, a plugin to generate a visual report of JMH benchmarks, has been released. * [Shadow Plugin][17] - The Shadow Plugin has a new logo and a new website thanks to John Engelman. _If you have a talk or blog post 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][18]._ ## Gradle 5.0 RC1 Release The Gradle Build Tool Team released the first 5.0 release candidate this week, [Gradle 5.0 RC1][19]. RC1 includes all of the features planned for 5.0 including all of the features planned for the [Kotlin DSL 1.0 release][20], task timeouts, dependency version alignment, Java 11 support, improved gradle init, and more. It also includes some potentially breaking changes and removes some deprecated features as described in the upgrade guide. Take a look at the [RC1 Release Notes][1] and the [Upgrading from Gradle 4.X Guide][21] to see how version 5.0 may affect your build. If you want to try the new Kotlin DSL, see the [Groovy to Kotlin DSL Migration Guide][22]. If you find bugs while upgrading to 5.0 RC1, please let us know by [filing a issue on GitHub][23]. For Gradle Enterprise users, the newly released [Gradle Enterprise 2018.4.2][3] is compatible with Gradle 5.0 and uses [Build Scan Plugin 2.0.1][2] which has also been released with support for Gradle 5.0. ## KotlinConf 2018 Recap [Gradle ❤️ Kotlin][24] so it makes sense that several Gradle engineers were in attendance at KotlinConf to promote the upcoming release of Kotlin DSL 1.0 and talk with the Kotlin community. Paul Merlin gave a talk on [Type-Safe Build Logic with Gradle Kotlin DSL][25]. This talk shows how to switch from the Groovy DSL to the Kotlin DSL and some of the benefits of using the Kotlin DSL with IntelliJ and Android Studio like debuggable build scripts, source-lookup, and context-aware refactoring. This talk also covers the performance implications of using the Gradle Kotlin DSL. It’s a must-watch for everyone getting ready for the 1.0 release of the Kotlin DSL in Gradle 5.0. ## Gradle hires a Developer Advocate October also marked an exciting new hire for Gradle, Inc. [Jenn Strater][26] joins the Developer Experience Team as a Developer Advocate for Gradle. She looks forward to helping everyone in the Gradle community achieve build happiness. As always, please use the [Gradle Forums][27] for basic Gradle questions and report bugs by submitting an issue on [GitHub][23]. However, feel free to reach out to the Developer Experience team by [email][28] with: * Requests for swag (stickers and t-shirts) for Gradle-related conference talks. * Links to Gradle-related conference talks and blog posts you’d like them to promote on social media. * Requests to look over a blog post, conference abstract, or Gradle-related slide deck. * Invitations to speak about Gradle at conferences or meetups or to invite Jenn to be a guest on a podcast. ## Droidcon SF Droidcon San Francisco is just around the corner! Join us on November 19-20th in learning from some of the top Android dev teams from around the country. 🎉👏 Stop by the Gradle booth to pick up free swag like stickers and T-shirts. Use [this link][29] for $100 off. 💃 ## October Blog Posts Gradle published 3 blog posts this month: * [Introducing Exemplar for Automated Samples Testing][4] * [Gradle Plugin Portal Approval Policy Update][30] * [How to show Groovy and Kotlin DSL samples side-by-side][31] ## Video Resources The following videos are available on the Gradle online training page: * [Improving Android and Java Build Performance][32] * [Optimize your CI Pipeline: Hands-on with the Gradle Team][33] * [Maximizing Developer Productivity with Gradle Enterprise][34] ## Upcoming Events * Nov 6: [Gradle Plugins en Groovy \[y Kotlin\]: escribir y publicar tus plugins de Gradle "made easy"][35] (Español/Spanish) -- Madrid GUG * Nov 8: [Why you should embrace Gradle and ditch Maven][36] -- J-Fall * Nov 12-16: [Switching to Gradle: maturity, performance, and pleasure!][37] And [Improving Android Build Performance][38] – Devoxx Belgium * Gradle will also have a booth. Stop by if you are interested in talking to an engineer about working for Gradle, Inc. * Nov 13-14: [Introduction to Gradle][39] -- Official Online Gradle Training * Nov 19-20: [Droidcon SF][40] -- Use promo code "Gradle" to get $100 off and stop by the Gradle booth * Dec 6: [Build Cache Deep Dive][41] - Official Online Gradle Training ## Job opportunities Gradle Inc. continues to grow. Will you help us shape the future of software automation? We're currently looking for: * Gradle Enterprise -- [Back-end][42] and [Front-end][43] Engineers * Gradle Build Tool -- [Software Engineer][44] * Developer Experience -- [Technical Writer][45] The details of these and other open positions available at [gradle.com/careers][46]. ---- _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][18]._ 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.0-rc-1/release-notes.html [2]: https://plugins.gradle.org/plugin/com.gradle.build-scan/2.0.1 [3]: https://gradle.com/enterprise/releases/2018.4/#changes-2 [4]: https://blog.gradle.org/documentation-samples-testing-exemplar [5]: https://www.baeldung.com/gradle-build-settings-properties [6]: https://blog.softwaremill.com/my-task-whats-wrong-with-your-gradle-task-82312100c595 [7]: https://proandroiddev.com/android-studio-pro-tips-for-working-with-gradle-8a7aa61a8cc4 [8]: https://github.com/google/dagger/releases [9]: https://twitter.com/SUPERCILEX/status/1048492490976710657 [10]: https://blog.kotlin-academy.com/gradle-kotlin-the-missing-piece-of-the-puzzle-7528a85f0d2c [11]: https://speakerdeck.com/panini/build-dot-gradle-dot-kts [12]: https://dzone.com/articles/setting-up-static-code-analysis-for-java [13]: https://blog.jdriven.com/2018/10/using-querydsl-annotation-processor-with-gradle-and-intellij-idea/ [14]: https://twitter.com/ankinson/status/1048204660031594496 [15]: https://github.com/aalmiray/kordamp-gradle-plugins [16]: https://plugins.gradle.org/plugin/io.morethan.jmhreport [17]: https://imperceptiblethoughts.com/shadow [18]: mailto:newsletter@gradle.com [19]: https://gradle.org/release-candidate [20]: https://github.com/gradle/kotlin-dsl/releases [21]: https://docs.gradle.org/5.0-rc-1/userguide/upgrading_version_4.html [22]: https://guides.gradle.org/migrating-build-logic-from-groovy-to-kotlin/ [23]: https://github.com/gradle/gradle/issues/new [24]: https://gradle.org/kotlin/ [25]: https://youtu.be/mAtrEPeAJSc [26]: https://twitter.com/codeJENNerator/status/1052461995440701440 [27]: https://discuss.gradle.org/ [28]: mailto:developer-experience@gradle.com [29]: https://droidconsf2018.eventbrite.com/?discount=Gradle [30]: https://blog.gradle.org/new-plugin-portal-acceptance-criteria [31]: https://blog.gradle.org/groovy-kotlin-dsl-samples [32]: https://gradle.com/webcast-improving-android-and-java-build-performance/?utm_source=newsletter&utm_medium=email&utm_campaign=201809 [33]: https://gradle.com/optimize-your-ci-pipeline/?utm_source=newsletter&utm_medium=email&utm_campaign=201809 [34]: https://gradle.org/training/developer-productivity-with-gradle-enterprise [35]: https://www.meetup.com/madrid-gug/events/255661792/ [36]: https://jfall.nl/sessions/quickies-3-sessions [37]: https://dvbe18.confinabox.com/talk/UAH-5130/Switching_to_Gradle:_maturity,_performance,_and_pleasure! [38]: https://dvbe18.confinabox.com/talk/VFH-6802/Improving_Android_Build_Performance [39]: https://gradle.org/training/intro-to-gradle/?utm_source=newsletter&utm_medium=email&utm_campaign=201809 "Introduction to Gradle" [40]: https://sf.droidcon.com/ [41]: https://gradle.org/training/build-cache [42]: https://boards.greenhouse.io/gradle/jobs/217786 [43]: https://boards.greenhouse.io/gradle/jobs/206107 [44]: https://boards.greenhouse.io/gradle/jobs/85251 [45]: https://boards.greenhouse.io/gradle/jobs/1301864 [46]: https://gradle.com/careers