当前位置: 首页 > 知识库问答 >
问题:

静态编程语言DSL:将versions.gradle.kts导入另一个build.gradle.kts

王磊
2023-03-14

我创建了一个版本.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个答案

舒赞
2023-03-14

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

但是,我确实设法在BuildSrc目录中的单独静态编程语言文件中定义了我的依赖项。

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

repositories {
    mavenCentral()
}

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

 类似资料:
  • 为了描述Gradle构建脚本,我们可以通过< code>build.gradle.kts文件使用Kotlin。在< code>dependencies和build 部分全局定义要使用的Kotlin版本是一个常见的问题(在给定的情况下使用不同的版本是相当罕见的)。 请考虑以下代码 (Gradle 4.3.1): 如您所见,kotlin(在本例中为1.2.30)定义了两次:和,它们通常没有区别。由于D

  • 我试图用OkHttp和Cucumber在静态编程语言中设置一个Spring启动项目,并且在运行Cucumber任务时遇到以下错误。如何修复? 还有build gradle kts片段 我看到了这个错误https://github.com/square/okio/issues/647看起来可能是它,并修复了这个build.gradle,我如何将其翻译为kotlinbuild.gradle.kts?

  • > 如何将选择查询映射到类 是否有任何@transactional操作来执行查询?

  • 我想从< code>local.properties文件中检索如下所示的密钥: 并通过gradle静态编程语言DSL将此值保存在我的中。稍后可以从我的项目中访问该字段。

  • 根据这个问题,一个函数可以作为参数传递给另一个函数,如下所示 类似地,我们也可以从类中传递方法 但是如果我们要传递的方法是静态的(在伴随对象中)呢? 我知道,由于它是静态的,我们可以直接调用该方法,而不必将其作为参数传递,然而,在某些情况下(例如利用现有代码时),这仍然是有用的。

  • 如图所示,https://stackoverflow.com/a/16639438/8949356,在Java中,当声明的类是公共类时,可以重写其函数 但是我想知道如何用静态编程语言编写完全相同的代码,我已经尝试了很多,但没有找到任何关于这个主题的东西。我可以在Java中去做这件事,但我的其余代码是用静态编程语言编写的,而且我不能一直带着这种怀疑;静态编程语言对我来说是一个很好的工具,我想学习它。