Пролет и град котлин дсл - PullRequest
1 голос
/ 29 мая 2019

Я мигрирую из Gradle в Gradle Kotlin DSL, и у меня есть вопрос. Есть

flyway {
    url = System.getenv ('DB_URL')
    user = System.getenv ('DB_USER')
    password = System.getenv ('DB_PASSWORD')
    baselineOnMigrate = true
    locations = ["filesystem: resources / db / migration"]
}

В Gradle.

Как бы вы выглядели в Kotlin DSL?

1 Ответ

3 голосов
/ 29 мая 2019

Код в блоке в Котлине почти такой же, как и в Groovy, с двумя исключениями:

  • Используйте двойные кавычки вместо одинарных кавычек для строк.
  • Используйте arrayOf вместо [...] для массива для свойства locations.

Другими словами, это будет выглядеть следующим образом:

flyway {
    url = System.getenv("DB_URL")
    user = System.getenv("DB_USER")
    password = System.getenv("DB_PASSWORD")
    baselineOnMigrate = true
    locations = arrayOf("filesystem: resources / db / migration")
}

Имейте в виду, что для того, чтобы файл сборки понимал функцию flyway (и чтобы среда IDE давала вам представление о том, какие опции доступны в блоке и т. Д.), Вам необходимо применить плагин Flyway, используя Gradle Plugins DSL , как указано в верхней части build.gradle.kts файла:

plugins {
    id("org.flywaydb.flyway") version "5.2.4"
}
...