Gradle Kotlin DSL を用いたプロジェクトでmavenにpublishするときの注意

gradle kotlin-dsl のサンプル「hello-kotlin」を真似て、kotlin stdlib のdependencyを記述すると、invalidなpomが生成されてしまう。
dependencies {
api(kotlin("stdlib-jre8"))
}
生成されるpom.xml
<dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-jre8</artifactId> </dependency>
version がないので、この pom.xml は invalid。
正しくは DependencyHandler.kotlin extension function の引数 version もちゃんと指定する
dependencies {
api(kotlin("stdlib-jre8", "1.1.51"))
}
または、
dependencies {
api(kotlin(module = "stdlib-jre8", version = "1.1.51"))
}
これにより、valid な pom.xml が生成される
<dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-jre8</artifactId> <version>1.1.51</version> </dependency>