crear el file version.txt en el directory del proyecto mediante la tarea build.gradle

Disculpas de antemano por mi ignorancia. Soy muy nuevo en Gradle.

Mi objective es tener alguna tarea en mi file build.gradle, donde un file 'version.txt' se crea en mi directory de proyecto cada vez que ejecuto el command gradle terminal en la raíz de mi proyecto. Este file 'version.txt' debe contener los metadatos de la versión de la compilation, como:

Version: 1.0 Revision: 1z7g30jFHYjl42L9fh0pqzmsQkF Buildtime: 2016-06-14 07:16:37 EST Application-name: foobarbaz app

(^ La revisión sería el hash de commit de git de HEAD)

Intenté volver a utilizar los fragments de los siguientes resources, pero fue en vano, posiblemente porque estos resources no están actualizados: http://mrhaki.blogspot.com/2015/04/gradle-goodness-use-git-commit- id-in.html http://mrhaki.blogspot.com/2010/10/gradle-goodness-add-incremental-build.html

Estoy usando la versión 2.14 de Gradle (que es la última versión).

Cualquier ayuda y / o visión sería muy apreciada. ¡Gracias!

El ejemplo al que te refieres es casi correcto. Con un par de ajustes menores funciona como se esperaba:

 import java.text.SimpleDateFormat import org.ajoberstar.grgit.Grgit plugins { id "org.ajoberstar.grgit" version "1.5.1-rc.3" } version = 1.0 task versionTxt() << { def file = new File("$projectDir/version.txt") file.createNewFile() file.text = """ Version: $version Revision: ${Grgit.open(dir: '.').head().id} Buildtime: ${new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date())} Application-name: foobarbaz app """ } 

Ejecute gradle versionTxt para get el resultado deseado.