Cómo configurar la tarea processResources en una compilation de Gradle Kotlin

Tengo lo siguiente en una secuencia de commands de construcción basada en Groovy. ¿Cómo hago lo mismo en un script basado en kotlin?

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

Creo que la tarea debería verse así:

Editar : Según este comentario en el repository gradle / kotlin-dsl . La configuration de la tarea debería funcionar de esta manera:

 import org.gradle.language.jvm.tasks.ProcessResources apply { plugin("java") } (tasks.getByName("processResources") as ProcessResources).apply { filesMatching("application.properties") { expand(project.properties) } } 

Lo cual es bastante feo Así que sugiero seguir la function de utilidad para este propósito, hasta que se realice un flujo ascendente:

 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() } 

Con las actualizaciones de las API en la versión más nueva de Kotlin DSL y Gradle, puede hacer algo como:

 import org.gradle.language.jvm.tasks.ProcessResources plugins { java } tasks { "processResources"(ProcessResources::class) { filesMatching("application.properties") { expand(project.properties) } } } 

Y también:

 val processResources by tasks.getting(ProcessResources::class) { filesMatching("application.properties") { expand(project.properties) } } 
  • ¿Qué significa / significa la tumba en Kotlin?
  • La testing en Kotlin no puede acceder al método protegido
  • Kotlin: problemas para entender los generics
  • Jackson's @JsonAppend con valor pnetworkingeterminado
  • ¿Por qué aparece el error "No se encontraron descriptores de ensamblado" al crear este proyecto?
  • Clase abstracta de Kotlin con param genérico y methods que usan param de tipo
  • Referencias a funciones genéricas
  • La request de arranque de spring se cuelga allí cuando devuelve el código de estado 1xx
  • ¿Cómo puedo conectar un productor a un actor?
  • cómo convertir json array a object json
  • Deserialization de KS JS JSON