Toutes mes excuses à l'avance pour mon ignorance. Je suis très nouveau pour gradle.
Mon objectif est d'avoir une tâche dans mon fichier build.gradle, dans lequel un fichier 'version.txt' est créé dans mon répertoire de projet chaque fois que j'exécute la commande de terminal gradle
dans la racine de mon projet. Ce fichier 'version.txt' doit contenir des métadonnées de version de la construction, telles que:
Version: 1.0 Revision: 1z7g30jFHYjl42L9fh0pqzmsQkF Buildtime: 2016-06-14 07:16:37 EST Application-name: foobarbaz app
(^ La révision serait le hachage de validation git de la tête)
J'ai essayé de réutiliser des extraits des ressources suivantes, mais en vain, peut-être parce que ces ressources sont obsolètes: http://mrhaki.blogspot.com/2015/04/gradle-goodness-use- git-commit-id-in.htmlhttp://mrhaki.blogspot.com/2010/10/gradle-goodness-add-incremental-build.html
J'utilise la version 2.14 de gradle (qui est la dernière version).
Toute aide et/ou information serait très appréciée. Merci!
L'exemple auquel vous faites référence est presque correct. Avec quelques ajustements mineurs, cela fonctionne comme prévu:
import Java.text.SimpleDateFormat
import org.ajoberstar.grgit.Grgit
plugins {
id "org.ajoberstar.grgit" version "1.7.2"
}
version = 1.0
task versionTxt() {
doLast {
new File(projectDir, "version.txt").text = """
Version: $version
Revision: ${grgit.head().abbreviatedId}
Buildtime: ${new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date())}
Application-name: foobarbaz app
"""
}
}
Courir gradle versionTxt
pour obtenir la sortie souhaitée.