DSL Kotlin: импортировать файл versions.gradle.kts в другой файл build.gradle.kts - PullRequest
0 голосов
/ 08 сентября 2018

Я создал 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 Ответ

0 голосов
/ 01 декабря 2018

Хотя я думаю, что можно импортировать другой файл 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. Вам нужно создать обычный файл Kotlin .kt, а не gradle.kts.

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

...