とある Gradle Plugin を 2.0.0 に移行する際、v1 から Kotlin DSL を使っていた人の環境でちょっと問題が発生したというツイートを見たので、Kotlin DSL がどうやって DSL Marker なしに lambda で書けるようにしてるのかちょっと調べてみた。ここで記述している問題は 2.0.1 では修正されていて、また Kotlin DSL での移行ステップも README に追記しておきました。 github.com TL;DR 外に見せる境界で def を使うのは避けておいた方が無難 Kotlin DSL は拡張関数で delegate してて、見るべきメソッドが違うかもしれないから気をつけよう Kotlin と Gradle の言語仕様の違いに気をつけよう kotlin-dsl を apply して開発しないと Groovy と Kotlin DS