目次
Kotlin 1.1.61 + Spring で Web Application を作る (3 of 4) の続きです。
Gradle を Kotlin で書く
build.gradle を Kotlin で書く
build.gradle
も Kotlin で書けます。 build.gradle
と同じ階層に build.gradle.kts
を作り、 下のように記述します。
そして、 build.gradle を削除します。 ./gradlew clean && ./gradlew bootrun をやって正常にサーバが起動すれば成功です。
Gradle 4.0 より前のバージョンを使っている場合は settings.gradle の最後に1行書き加えます。 Kotlin DSL v0.9.0 から rootProject.buildFileName
の設定をしなくても、 build.gradle.kts が使えるようになり。 Gradle 4.0 に取り込まれました。
settings.gradle も Kotlin で書く
Kotlin DSL v0.13.1 から settings.gradle.kts
が使えるようになりました。 Gradle 4.4 RC1 から取り込まれています。 Intellij IDEA では、 Kotlin のプラグイン 1.1.60-eap-43 からサポートされています。
そこで、Gradle のバージョンをアップグレードします。
バージョン 4.4 RC 1 以前の Gradle でもビルドはできます。 しかし、 settings.gradle.kts が有効に使われません。
次に、 settings.gradle
を settings.gradle.kts
へ名前変更します。 2つ注意点があります。 1つ目は文字列の扱いです。 settings.gradle
では シングルクオートでも、ダブルクオートでも文字列を記述することができましたが、 Kotlin ではダブルクオートで文字列を表します。そこで rootProject.name
の記述を変更します。
変更前 | rootProject.name = 'myapp' |
---|---|
変更後 | rootProject.name = "myapp" |
2つ目は rootProject
の型です。 このままでも問題なく動くのですが、 Intellij IDEA 上の表示では rootProject
が Project インターフェース として認識されるため、赤波線が表示されます。 Project インターフェース には setName
メソッド がありません。
そこで rootProject を ProjectDescriptor にキャストします。
変更後 | (rootProject as ProjectDescriptor).name = "myapp" |
---|
settings.gradle
を Kotlin で書くために いくつか変更を行いましたが、 これは後のアップグレードされた Gradle では不要となります。