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) } } 
  • ¿Cómo crear una variable que pueda tomar cadenas y funciones en Kotlin?
  • ¿Qué representa una matriz de nulls en Kotlin?
  • Propiedad de superclass no inicializada en class Derivada
  • La variable de instancia de Kotlin es nula cuando se accede por la class proxied de Spring
  • Fuera de memory usando Volley en Kotlin
  • El reino no genera classs RealmProxy en el proyecto Java / Kotlin cuando se usa kapt
  • ¿Cómo puedo convertir InputStream en BufferInputStream en kotlin?
  • Se niega el acceso de Android al build
  • Referencia al setter de properties de la class Kotlin como function
  • Kotlin: el operador '==' no se puede aplicar a '¡Editable!' y 'String' al comparar cadenas
  • Kotlin comtesting si la function requiere parámetro de instancia