0.18.4
Pre-releaseGradle Kotlin DSL 0.18.4 Release Notes
Gradle Kotlin DSL 0.18.4 brings faster and leaner configuration time, enhanced IntelliJ IDEA integration and bug fixes.
At the same time the IntelliJ IDEA Kotlin Plugin fixed important build script editing related issues. It is recommended for everyone to upgrade to the latest and greatest.
v0.18.4 is included in Gradle 4.9 RC1.
To use it, upgrade your Gradle wrapper in the following fashion:
$ cd $YOUR_PROJECT_ROOT
$ gradle wrapper --gradle-version 4.9-rc-1
Updates since v0.17.5
-
Faster and leaner configuration time (#887, #897, #833, #922)
After the fix of the most outstanding configuration time hotspots in v0.17.x, this release includes more performance improvements and drastic changes to the Kotlin DSL provider structure to avoid work when possible and make it even more efficient. For thegradle/gradle
build that meant a ~100ms faster configuration time, going from ~1.5s down to ~1.4s.
In red, Gradle 4.9 with Kotlin DSL 0.17.x.
In blue, Gradle 4.9 with Kotlin DSL 0.18.x.
See this graph in situ.Other synthetic benchmarks shown 20% improvements or more in specific scenarios:
samples/plugins-block-only (applies the java plugin using the plugins block) baseline: 41.68 ms 42.76 ms (std dev 14.56 ms) latest: 33.35 ms 35.69 ms (std dev 8.27 ms) latest / baseline: 0.80 samples/plugins-block-with-script (applies the java plugin then configures it) baseline: 43.34 ms 44.12 ms (std dev 13.63 ms) latest: 33.54 ms 35.26 ms (std dev 6.17 ms) latest / baseline: 0.77
-
Script dependencies resolution errors and warnings reported in IntelliJ IDEA (#151)
IntelliJ IDEA editor for Gradle Kotlin DSL scripts will now display a warning or error when the resolution of the edited script dependencies encounter failures instead of failing silently. -
Allow for multiple extensions of the same parameterized type (#905)
Before this release when there were multiple extensions of the same parameterized type such asNamedDomainObjectContainer<T>
defined for a project, then the generated accessors would conflict causing a script compilation failure.It is now possible to register multiple extensions of the same parameterized type.
-
gradle --version
now displays Gradle Kotlin DSL and Kotlin versions (#481)------------------------------------------------------------ Gradle 4.9-rc-1 ------------------------------------------------------------ Build time: <date> Revision: <commit-hash> Kotlin DSL: 0.18.4 Kotlin: 1.2.41 Groovy: 2.4.12 Ant: Apache Ant(TM) version 1.9.11 compiled on March 23 2018 JVM: 1.8.0_161 (Oracle Corporation 25.161-b12) OS: Mac OS X 10.13.4 x86_64
For the complete list see the gradle/kotlin-dsl
issues for 0.18.x.