Skip to content
This repository has been archived by the owner on Aug 19, 2020. It is now read-only.

0.18.4

Pre-release
Pre-release
Compare
Choose a tag to compare
@eskatos eskatos released this 03 Jul 13:45
386f22c

Gradle 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 the gradle/gradle build that meant a ~100ms faster configuration time, going from ~1.5s down to ~1.4s.

    image
    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.

    image

  • Allow for multiple extensions of the same parameterized type (#905)
    Before this release when there were multiple extensions of the same parameterized type such as NamedDomainObjectContainer<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.