9 juil. 2016, 12:13

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 :

Creative Commons
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

retourSommaire des tutoriels