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

使用Kotlin DSL通过Gradle插件配置任务

饶谦
2023-03-14

我正在尝试将Gradle插件中的一些任务配置从Groovy转换为Kotlin。我发现的所有示例都是关于普通构建脚本的,这种方法似乎并没有直接转化为插件的使用。我的尝试如下:

class JavaConventionsPlugin : Plugin<Project> {
    // ...
    fun configureBasicJavaOptions(project: Project) {
        project.tasks.withType<JavaCompile> {
            options.encoding = "cp1252"
            options.warning = false
        }
    }
}

产生以下错误:

  • 类型不匹配:推断类型是()-

做这件事的正确方法是什么?

共有1个答案

孟栋
2023-03-14

我不确定这是不是方法,但它似乎有效:

    private fun configureBasicJavaOptions(project: Project) {
        project.tasks.withType(JavaCompile::class.java) { t ->
            t.options.encoding = "cp1252"
            t.options.isWarnings = false
        }
    }
 类似资料:
  • 我试图设置gradle,在启用各种spring配置文件的情况下启动bootRun进程。 我当前的配置如下所示: 我想用gradle任务设置系统属性,然后执行bootRun。 我的尝试是这样的: 几个问题: 系统属性是spring boot bootRun配置的一部分吗 可以在另一个任务中设置系统属性吗 我的下一步应该是什么?我需要在bootRun之前进行配置 有没有其他方法值得我研究 -埃里克

  • 如https://cloud . Google . com/app engine/docs/standard/Java/tools/Gradle-reference上所述,AppEngine Gradle插件提供如下配置: 使用 时,这样的配置应该是什么样子? 我正在查看AppEngine任务,但不明白如何将其连接到适当的Kotlin DSL设置。 编辑 当简单地将上述块添加到<code>buil

  • 寻找Spring启动gradle插件,我可以使用gradle 2版本内的插件DSL。我喜欢去掉buildScript定义,并使用类似于 https://plugins.gradle.org/似乎根本不包含Spring靴。

  • 我有什么? 现在我想知道在任务执行之前是否可以使用clean task(常见的构建任务)来清理构建目录。 这背后是有原因的,我想确保每次gradle都应该编译java文件,并且所有.class文件都应该被刷新(这是一些要求) 我试过什么? 我想知道什么? 有没有什么方法可以避免编写包装器任务,并做一些梯度魔术来达到要求?

  • 新的Android gradle插件(0.7)似乎包括了对NDK的新支持,但在文档中几乎没有提到它(我找到的唯一参考是一个名为< code>ndkSanAngeles的测试)。 看起来gradle正在寻找NDK,我已经将其包含在PATH中。然而,构建项目失败 < li >哪里出错:任务执行失败':ogl tests:compileDefaultFlavorDebugNdk '。NDK未配置 如何在

  • 我有以下Gradle构建文件:https://github.com/markuswustenberg/jsense/blob/a796055f984ec309db3cc0f3e8340cbccac36e4e/jsense-protobuf/build.Gradle,其中包括: