MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Créer un changelog grâce à git et gradle

    Planifier Épinglé Verrouillé Déplacé Java & outils de développement
    forgegradle
    10 Messages 4 Publieurs 3.9k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • SCAREXS Hors-ligne
      SCAREX
      dernière édition par robin4002

      Sommaire

      • Introduction
      • Pré-requis
      • Code
        • build.gradle
        • changelog.mustache
      • Résultat
      • Crédits

      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

      Site web contenant mes scripts : http://SCAREXgaming.github.io

      Pas de demandes de support par MP ni par skype SVP.
      Je n'accepte sur skype que l…

      1 réponse Dernière réponse Répondre Citer 0
      • moscaphone421M Hors-ligne
        moscaphone421
        dernière édition par

        Maisss tu es une vrai machine a écrire !?!

        1 réponse Dernière réponse Répondre Citer 0
        • SCAREXS Hors-ligne
          SCAREX
          dernière édition par

          @‘moscaphone421’:

          Maisss tu es une vrai machine a écrire !?!

          ça prend pas beaucoup de temps à écrire, il me reste encore un tuto à faire là.

          Site web contenant mes scripts : http://SCAREXgaming.github.io

          Pas de demandes de support par MP ni par skype SVP.
          Je n'accepte sur skype que l…

          1 réponse Dernière réponse Répondre Citer 1
          • BrokenSwingB Hors-ligne
            BrokenSwing Moddeurs confirmés Rédacteurs
            dernière édition par

            Bon tutoriel, c’est très utile (bien que je préfère le format de changelog de forge, le tien a une trop grosse écriture, je sais qu’on peut changer)
            En tout cas nice ce tuto

            1 réponse Dernière réponse Répondre Citer 0
            • robin4002R Hors-ligne
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs
              dernière édition par

              J’imagine qu’il y a moyen d’adapter pour générer le changelog pour le système de maj de forge ?

              1 réponse Dernière réponse Répondre Citer 0
              • BrokenSwingB Hors-ligne
                BrokenSwing Moddeurs confirmés Rédacteurs
                dernière édition par

                Et je me disais aussi, pas obligé d’appeler le fichier changelog.mustach, il faut juste mettre le même nom que dans le build.gradle ?

                1 réponse Dernière réponse Répondre Citer 0
                • SCAREXS Hors-ligne
                  SCAREX
                  dernière édition par

                  @‘BrokenSwing’:

                  Bon tutoriel, c’est très utile (bien que je préfère le format de changelog de forge, le tien a une trop grosse écriture, je sais qu’on peut changer)
                  En tout cas nice ce tuto

                  On peut tout changer, perso j’ai fait un petit truc en html mais tu peux faire ce que tu veux au format que tu veux.

                  @‘robin4002’:

                  J’imagine qu’il y a moyen d’adapter pour générer le changelog pour le système de maj de forge ?

                  C’est à dire ? Je crois que le changelog de forge est généré via Jenkins, mais en théorie on peut faire ce que l’on veut.

                  @‘BrokenSwing’:

                  Et je me disais aussi, pas obligé d’appeler le fichier changelog.mustach, il faut juste mettre le même nom que dans le build.gradle ?

                  Je l’ai pas précisé mais c’est évident. Après il faut juste faire attention au format car le plugin est compatible avec différents formats.

                  Site web contenant mes scripts : http://SCAREXgaming.github.io

                  Pas de demandes de support par MP ni par skype SVP.
                  Je n'accepte sur skype que l…

                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002R Hors-ligne
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                    dernière édition par

                    c’est à dire générer un json comme celui-ci : http://dl.mcnanotech.fr/FFMT/libs/version.json
                    (dans le @Mod, il y a un String pour indiquer ce json (updateUrl si mes souvenir sont bon), cela permet d’utiliser le système de vérification de mise à jour intégré à forge pour son propre mod).
                    Actuellement je le modifie la main, c’est bien chiant x)

                    1 réponse Dernière réponse Répondre Citer 0
                    • SCAREXS Hors-ligne
                      SCAREX
                      dernière édition par

                      @‘robin4002’:

                      c’est à dire générer un json comme celui-ci : http://dl.mcnanotech.fr/FFMT/libs/version.json
                      (dans le @Mod, il y a un String pour indiquer ce json (updateUrl si mes souvenir sont bon), cela permet d’utiliser le système de vérification de mise à jour intégré à forge pour son propre mod).
                      Actuellement je le modifie la main, c’est bien chiant x)

                      Quand je parle du format, je parle du format d’entrée. Pour ce qui est de la sortie on peut mettre tout ce que l’on veut (je vais essayer de faire quelque chose qui puisse générer un json comme ça)

                      EDIT : de ce que j’ai vu malheureusement c’est plus compliqué car il est impossible pour le plugin de regrouper par version de minecraft. Et il est impossible de placer correctement les virgules, désolé.

                      Site web contenant mes scripts : http://SCAREXgaming.github.io

                      Pas de demandes de support par MP ni par skype SVP.
                      Je n'accepte sur skype que l…

                      1 réponse Dernière réponse Répondre Citer 0
                      • SCAREXS Hors-ligne
                        SCAREX
                        dernière édition par

                        @‘robin4002’:

                        c’est à dire générer un json comme celui-ci : http://dl.mcnanotech.fr/FFMT/libs/version.json
                        (dans le @Mod, il y a un String pour indiquer ce json (updateUrl si mes souvenir sont bon), cela permet d’utiliser le système de vérification de mise à jour intégré à forge pour son propre mod).
                        Actuellement je le modifie la main, c’est bien chiant x)

                        J’ai décidé de me lancer dans le projet de réaliser ce plugin, si tu as quelques idées en tête je prends 😉

                        Site web contenant mes scripts : http://SCAREXgaming.github.io

                        Pas de demandes de support par MP ni par skype SVP.
                        Je n'accepte sur skype que l…

                        1 réponse Dernière réponse Répondre Citer 0
                        • robin4002R robin4002 a fait référence à ce sujet sur
                        • robin4002R robin4002 a fait référence à ce sujet sur
                        • robin4002R robin4002 a fait référence à ce sujet sur
                        • 1 / 1
                        • Premier message
                          Dernier message
                        Design by Woryk
                        ContactMentions Légales

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB