8

Groovy ベースのビルド スクリプトには次のものがあります。kotlin ベースのスクリプトで同じことを行うにはどうすればよいですか?

processResources {

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

}
4

3 に答える 3

10

タスクは次のようになります。

編集: 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()
}
于 2016-10-18T06:29:29.170 に答える