gradle - Kotlin DSL : Import a versions. gradle.kts 进入另一个 build.gradle.kts

标签 gradle kotlin build.gradle gradle-kotlin-dsl

我已经创建了一个 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"
}

我该怎么做?

注意: 我已经看过this post但不完全是我搜索...

最佳答案

虽然我认为应该可以导入另一个 gradle.kts 文件,但我无法让它正常工作。

但是,我确实设法在 buildSrc 目录中的单独 Kotlin 文件中定义了我的依赖项。

  1. 在项目的根目录下创建一个 buildSrc 文件夹(与 build.gradle.kts 同级)
  2. 在该 buildSrc 文件夹中添加一个 build.gradle.kts。在这里,您需要定义 kotlin-dsl 插件。您还需要定义获取插件的存储库。
plugins {
    `kotlin-dsl`
}

repositories {
    mavenCentral()
}
  1. 创建一个 Kotlin 文件,在其中定义您在 buildSrc 文件夹内的 src/main/kotlin 中的依赖项。您需要创建一个普通的 Kotlin .kt 文件,而不是 gradle.kts

重新导入您的 Gradle 配置,您现在可以在 build.gradle.kts 中使用在步骤 #3 中创建的 Kotlin 文件中定义的变量。

关于gradle - Kotlin DSL : Import a versions. gradle.kts 进入另一个 build.gradle.kts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52236402/

相关文章:

android - 在 Android Studio 中添加 Parse 库

spring-boot - Gradle 选择了错误的依赖版本

Android ViewPager - 如何强制删除所有项目?

android - 怎么修。错误 :Execution failed for task ':app:processDebugManifest' . VERSION@value value=(26.1.0)

gradle - 未能使用Gradle构建Kotlin项目

resources - Gradle 设置 sourceSet in child

java - 什么是 Kotlin 函数类型的 Java 等价物?

kotlin - java.lang.Integer 在 Kotlin 中不能强制转换为 java.lang.Long(初始值为 null 时)

linux - 如何在不使用 Intellij 的情况下在 Linux centos 中运行 cucumber 测试用例

android - 实验性 gradle : The android plugin must be applied to the project 问题