DSL Kotlin: импортировать файл versions.gradle.kts в другой файл build.gradle.kts
Я создал versions.gradle.kts
Просто так:
object Defines {
const val kotlinVersion = "1.2.61"
const val junitVersion = "5.3.0"
}
Теперь я хочу импортировать и использовать эти файлы так:
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
group = "io.github.deglans"
version = "0.0.1-SNAPSHOT"
plugins {
application
kotlin("jvm") version Defines.kotlinVersion
}
application {
mainClassName = "io.github.deglans.polishnotation.MainKt"
}
dependencies {
compile(kotlin("stdlib-jdk8"))
testCompile("org.junit.jupiter", "junit-jupiter-api", Defines.junitVersion)
testRuntime("org.junit.jupiter", "junit-jupiter-engine", Defines.junitVersion)
}
tasks.withType<KotlinCompile> {
kotlinOptions.jvmTarget = "1.8"
}
Как я могу это сделать?
ПРИМЕЧАНИЕ: я уже видел этот пост, но это не совсем то, что я ищу...
1 ответ
Хотя я думаю, что можно импортировать другой gradle.kts
файл, я не мог заставить его работать должным образом.
Тем не менее, мне удалось определить мои зависимости в отдельном файле Kotlin в buildSrc
каталог.
- Создать
buildSrc
папка в корне вашего проекта (того же уровня, что иbuild.gradle.kts
) - Добавить
build.gradle.kts
в этомbuildSrc
папка. Здесь вам нужно определитьkotlin-dsl
плагин. Вы также должны определить хранилище, где взять плагин.
plugins {
`kotlin-dsl`
}
repositories {
mavenCentral()
}
- Создайте файл Kotlin, в котором вы определяете свои зависимости в
src/main/kotlin
внутриbuildSrc
папка. Вам нужно создать нормальный котлин.kt
файл, а неgradle.kts
,
Повторно импортируйте вашу конфигурацию Gradle, и теперь вы можете использовать переменные, которые вы определили в файле Kotlin, созданном на шаге 3 в вашем build.gradle.kts
,