Sommaire
Introduction
Vous souhaitez donner un changelog à vos utilisateurs pour voir les dernières modifications et votre mod est disponible sur un repo git tel que github ? Alors voici un petit tuto qui vous permettra d’en créer simplement.
Pré-requis
- Comprendre globalement l’utilité de gradle et son fonctionnement
Code
build.gradle :
Au tout début de votre build.gradle, après le block “buildscript”, ajoutez ceci :
plugins {
id "se.bjurr.gitchangelog.git-changelog-gradle-plugin" version "1.32"
}
Cela va ajouter le plugin.
Ensuite rajoutez cette condition à la toute fin :
plugins.withType(se.bjurr.gitchangelog.plugin.gradle.GitChangelogGradlePlugin.class) {
}
Cette condition nous permet d’exécuter le code uniquement si le plugin est chargé correctement.
Maintenant il ne vous reste plus qu’à rajouter ce code à l’intérieur des crochets :
task makeChangelog(type: se.bjurr.gitchangelog.plugin.gradle.GitChangelogTask) { // "makeChangelog" sera le nom à appeler pour générer le changelog, vous pouvez mettre ce que vous voulez
filePath = "CHANGELOG.html" // filePath correspond à la destination du changelog
untaggedName = "Current release ${project.version}" // untaggedName est la valeur qui sera générée en haut du changelog pour préciser la version courante du mod
templateContent = file('changelog.mustache').getText('UTF-8') // ici on indique que le format sera à lire dans le fichier changelog.mustache
}
changelog.mustache :
Ce fichier va vous permettre de formater les données récupérées via git, voici le format que j’utilise pour générer une page web simple :
{{#tags}}
<h1>{{name}}</h1>
{{#issues}}
{{#hasIssue}}
{{#hasLink}}
<h3>{{name}} [{{issue}}]({{link}}) {{title}}</h3>
{{/hasLink}}
{{^hasLink}}
<h3>{{name}} {{issue}} {{title}}</h3>
{{/hasLink}}
{{/hasIssue}}
{{^hasIssue}}
<h3>{{name}}</h3>
{{/hasIssue}}
<h2>Commits :</h2>
{{#commits}}
<a href="https://github.com/SCAREXgaming/SCLib/commit/{{hash}}"><h3>{{{messageTitle}}} by {{authorName}} at {{commitTime}}</h3></a>
<ul>{{#messageBodyItems}}
<li>{{.}}</li>
{{/messageBodyItems}}
</ul>
{{/commits}}
{{/issues}}
{{/tags}}
Pour que vous compreniez mieux comment créer ce fichier, voici la documentation où se trouvent toutes les valeurs utilisables.
Voilà, maintenant il ne vous reste plus qu’à générer votre changelog grâce à gradlew makeChangelog.
Résultat
Example de changelog avec le format montré au-dessus
Crédits
Rédaction :
- SCAREX
Correction :
Ce tutoriel de SCAREX publié sur Minecraft Forge France est mis à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International