Gradle 4.0 released

New version of Gradle is now available
15 June 2017   1768

Gradle 4.0. was recently announced by the Gradle Team.

Here is some great new features and improvements in this release:

First of all, Gradle's Build Cache is now production-ready for Java and Groovy compilation and Java test tasks! This provides great performance, making Gradle builds up to 100x faster than Maven in common cases. It is also improved by overlapping outputs detection, configurable classpath normalization that avoids unnecessary task execution, see more in the full release notes. The caching of other tasks, including even other languages, will be provided in future releases. Here is a guide from the developers for maximizing effectiveness of Gradle Build Cache.

Java

 Popular general-purpose programming language and computing platform

Now let's take a look from a user side: this version has a few improvements in logging and terminal display. Log output is now grouped by project and task when attached to a terminal — output from tasks run in parallel will no longer be interleaved. However, logging behaves the same way as previous Gradle versions in non-interactive environments, and use

 --console=plain

to allow automated tools like CI systems to parse the logs they expect.

Gradle
Gradle

The console output have more info about what exactly is in-progress at the moment, and parallel work in-progress is now displayed by default. Check this guide for more user's info.

Another interesting feature - metadata and artifacts from remote repositories are now downloaded in parallel. Gradle also avoids downloading the same dependency twice even if parallel tasks request the same one simultaneously.

Gradle in actionGradle in action

Also, good news for Kotlin coders - Gradle Script Kotlin v0.9.0 brings cool new features: auto-detection of Kotlin scripts, default import for the whole Gradle API, improved samples and docs with an API reference, better IntelliJ experience.

Kotlin

Statically-typed programming language that runs on the Java Virtual Machine and also can be compiled to JavaScript source code

Public type that represents lazily-evaluated properties(aka ConventionMapping) is also added to this release. This is one of the most expected features by plugin creators. You can have more info about PropertyStates here. Great example of it's usage can be found here.

Gradle is great solution which is frequently used in Android development. Version 4.0 brings great performance increase. Can't wait to use in real project!
 

Dmitry Karpunin
Chief Front-End Developer at Evrone

Upgrade Instructions

You can switch your version or Gradle to 4.0 fast by updating your wrapper properties:

./gradlew wrapper --gradle-version=4.0

Standalone download link.

Reporting Problems

Feel free to create issue on GitHub if you will find any bugs.

Source code download link.

JetBrains to Roll Out Ktor Framework

Framework is suitable for writing back-end projects and microservices in the Kotlin language
20 November 2018   333

JetBrains developers told about the release of the stable version of the Ktor 1.0 framework. It helps to create asynchronous servers and clients in related systems. According to the creators, the framework is suitable for writing back-end projects and microservices in the Kotlin language. Documentation and project generator are published on the official website.

First of all, it is worth noting that this is an open source project that is distributed under the Apache 2 license. The main components are:

  • HTTP server running on a virtual machine. It works on Netty, Jetty, and server-side Java programs. It can be placed in a container, embedded in desktop or Android applications, as well as run on Tomcat. Moreover, it corresponds to the paradigm of the application of twelve factors.
  • Multiplatform HTTP client. Although asynchronous, it uses the same coroutines and I / O elements that control the server.

Tools will help the developer to customize the main components of the application.

The Kotlin / Native project supports Ktor, starting with version 0.8. In this case, the working version of Kotlin / Native 0.9 was released in early September 2018. In it, developers added support for unsigned types and interoperability with C, Objective-C / Swift.