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 каталог.

  1. Создать buildSrc папка в корне вашего проекта (того же уровня, что и build.gradle.kts)
  2. Добавить build.gradle.kts в этом buildSrc папка. Здесь вам нужно определить kotlin-dsl плагин. Вы также должны определить хранилище, где взять плагин.
plugins {
    `kotlin-dsl`
}

repositories {
    mavenCentral()
}
  1. Создайте файл Kotlin, в котором вы определяете свои зависимости в src/main/kotlin внутри buildSrcпапка. Вам нужно создать нормальный котлин .kt файл, а не gradle.kts,

Повторно импортируйте вашу конфигурацию Gradle, и теперь вы можете использовать переменные, которые вы определили в файле Kotlin, созданном на шаге 3 в вашем build.gradle.kts,

Другие вопросы по тегам