¿Tiene sbt algo como la tarea processResources de gradle con el soporte de ReplaceTokens?

Nos estamos moviendo a Scala / SBT desde una pila Java / Gradle. Nuestras compilaciones de gradle aprovecharon una tarea llamada processResources y un filtro Ant llamado ReplaceTokens para reemplazar dinámicamente tokens en un archivo .properties registrado sin cambiar realmente el archivo .properties (solo cambiando la salida). La tarea de gradle se ve como:

processResources {
  def whoami = System.getProperty( 'user.name' );
  def hostname = InetAddress.getLocalHost().getHostName()
  def buildTimestamp = new Date().format('yyyy-MM-dd HH:mm:ss z')

  filter ReplaceTokens, tokens: [
          "buildsig.version" : project.version,
          "buildsig.classifier" : project.classifier,
          "buildsig.timestamp" : buildTimestamp,
          "buildsig.user" : whoami,
          "buildsig.system" : hostname,
          "buildsig.tag" : buildTag
      ]
}

Esta tarea localiza todos los archivos de plantilla en el directorio src / main / resources, realiza las sustituciones necesarias y genera los resultados en build / resources / main. En otras palabras, transforma src / main / resources / buildsig.properties de ...

[email protected]@
[email protected]@
[email protected]@
[email protected]@
[email protected]@
[email protected]@

... para construir / resources / main / buildsig.properties ...

buildsig.version=1.6.5
buildsig.classifier=RELEASE
buildsig.timestamp=2013-05-06 09:46:52 PDT
buildsig.user=jenkins
buildsig.system=bobk-mbp.local
buildsig.tag=dev

Que, en última instancia, encuentra su camino en el archivo WAR en WEB-INF / classes / buildsig.properties. Esto funciona como un campeón para registrar información específica de compilación en un archivo de propiedades que se carga desde el classpath en tiempo de ejecución.

¿Qué hago en SBT para hacer algo como esto? Soy nuevo en Scala / SBT, así que perdóneme si me parece una pregunta estúpida. Al final del día, lo que necesito es un medio para extraer cierta información del entorno en el que compilo y colocar esa información en un archivo de propiedades que es classpath cargable en tiempo de ejecución. Cualquier información que pueda dar para ayudarme a hacer esto es muy apreciada.

Respuestas a la pregunta(2)

Su respuesta a la pregunta