Gradle Newsletter, February 2018 ======== Welcome to the February Newsletter! In this issue, we'll cover just-released [Gradle 4.6][1] and [Gradle Enterprise 2018.1][2], then deep dive into using the [build cache with Kotlin][3] projects. ## From the community We ❤️ you Gradle community! Thank you for your blog posts and contributions! * [Reproducible Builds in Java][4] — In this post, Maria Camenzuli demonstrates the value of reproducible builds, and explains how to make your Java build reproducible using Gradle. * [Renaming Your Gradle Build Files][5] — Philippe Breault proposes a naming convention for `.gradle` scripts that makes it obvious which subproject each one configures. * [Dockerizing a Spring Boot application][6] and [Integration testing using containers][7] — 2 great blog posts about using Docker with Gradle, by Ben Muschko. * [Setting Up a Microservices Architecture with Spring Boot and Gradle][8] — Akash Bhingole explains and codifies microservices architecture through an example using Spring Boot and Gradle. * [Kotlin + buildSrc for Better Gradle Dependency Management][9] — In this article, Sam Edwards achieves IDE completion for a set of dependencies by declaring Kotlin constants under `buildSrc` — very clever. _Have a blog post or plugin you'd like to see featured here? Just send us an email with the details to [newsletter@gradle.com][10]._ --- ## Gradle 4.6 [Gradle 4.6][1] is a big release. * JUnit Platform (aka JUnit 5) Support * `--fail-fast` for Test tasks * Custom command-line flags for custom tasks * Experimental BOM and optional dependencies support * Customizable metadata file resolution * Improved Visual Studio support for multi-project builds * Kotlin DSL [support for init scripts][11] There is more. We could scarcely fit the highlights into [this 53-second video][12]; better to check the [Gradle 4.6 release notes]((https://docs.gradle.org/4.6/release-notes.html?utm_source=newsletter&utm_medium=email&utm_campaign=201802)). --- ## Gradle Enterprise 2018.1 [Gradle Enterprise 2018.1][2] features seamless support for [composite builds][13], a powerful mechanism for combining or splitting Gradle builds. When using build scan plugin 0.12.1+, you will see: * Included builds in the project view * Tasks from included builds in the tasks view * Which dependencies were substituted by an included build More details are available in the [release notes][2]. --- ## Kotlin Build Caching [Kotlin 1.2.21][14] provides support for Gradle's build cache. You can enable the build cache for your Kotlin projects by following [this blog post][3]. Build caching is particularly effective when a CI instance populates a shared, remote build cache. Community members have written 2 tutorials for doing just that: * [Speed up your Build with Gradle Remote Build Cache][15] * [Using Gradle Build Cache Server][16] --- ## Upcoming online training - Mar 13-14: [Introduction to Gradle][17] - Apr 17-20: [Advanced Gradle Fundamentals for Java/JVM][18] - Anytime: [Maximizing Developer Productivity with Gradle Enterprise][19] 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/4.6/release-notes.html?utm_source=newsletter&utm_medium=email&utm_campaign=201802 [2]: https://gradle.com/enterprise/releases/2018.1?utm_source=newsletter&utm_medium=email&utm_campaign=201802 [3]: https://blog.gradle.org/kotlin-build-cache-use?utm_source=newsletter&utm_medium=email&utm_campaign=201802 [4]: https://dzone.com/articles/reproducible-builds-in-java [5]: http://www.developerphil.com/renaming-your-gradle-build-files/ [6]: http://bmuschko.com/blog/dockerized-spring-boot-app/ [7]: http://bmuschko.com/blog/docker-integration-testing/ [8]: https://dzone.com/articles/basic-things-to-setup-an-microservices-architectur [9]: https://handstandsam.com/2018/02/11/kotlin-buildsrc-for-better-gradle-dependency-management/ [10]: mailto:newsletter@gradle.com [11]: https://github.com/gradle/kotlin-dsl/releases/tag/v0.15.6 [12]: https://www.youtube.com/watch?v=FLrKIXA4Mjg [13]: https://blog.gradle.org/introducing-composite-builds?utm_source=newsletter&utm_medium=email&utm_campaign=201802 [14]: https://blog.jetbrains.com/kotlin/2018/01/kotlin-1-2-20-is-out/ [15]: https://proandroiddev.com/speed-up-your-build-with-gradle-remote-build-cache-2ee9bfa4e18 [16]: https://medium.com/@cesarmcferreira/using-gradle-build-cache-server-73d7680baf2a [17]: https://gradle.org/training/intro-to-gradle/register-2018-03-13/?utm_source=newsletter&utm_medium=email&utm_campaign=201802 "Introduction to Gradle" [18]: https://gradle.org/training/advanced-gradle-jvm/register-2018-04-17/?utm_source=newsletter&utm_medium=email&utm_campaign=201802 "Advanced Gradle Fundamentals for Java/JVM" [19]: https://gradle.org/training/developer-productivity-with-gradle-enterprise/register-pre-recorded/?utm_source=newsletter&utm_medium=email&utm_campaign=201802 "Maximizing Developer Productivity with Gradle Enterprise"