我在基于Groovy的构建脚本中具有以下内容。如何在基于Kotlin的脚本中执行相同操作?

processResources {

    filesMatching('application.properties'){
        expand(project.properties)
    }

}

最佳答案

我认为任务应如下所示:

编辑:根据comment存储库中的此gradle/kotlin-dsl。任务配置应以这种方式工作:

import org.gradle.language.jvm.tasks.ProcessResources

apply {
    plugin("java")
}

(tasks.getByName("processResources") as ProcessResources).apply {
    filesMatching("application.properties") {
        expand(project.properties)
    }
}

这很丑。因此,我建议为此使用以下实用程序功能,直到完成一个上游:
configure<ProcessResources>("processResources") {
    filesMatching("application.properties") {
        expand(project.properties)
    }
}

inline fun <reified C> Project.configure(name: String, configuration: C.() -> Unit) {
    (this.tasks.getByName(name) as C).configuration()
}

07-26 01:18