MFF

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

    Comment créer un changelog pour forge grâce au plugin ForgeChangelogGradlePlugin

    Planifier Épinglé Verrouillé Déplacé Java & outils de développement
    forgegradle
    2 Messages 2 Publieurs 1.3k 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
      • Résultat
      • Crédits

      Introduction

      Vous souhaitez utiliser la nouvelle fonction de forge pour récupérer les versions de votre mod ? Voici comment faire grâce au plugin ForgeChangelogGradlePlugin.

      Pré-requis

      • Comprendre globalement l’utilité de gradle et son fonctionnement

      Code

      build.gradle :

      Première chose il va vous falloir ajouter le plugin, ajoutez ceci au début de votre build.gradle (après le bloc buildscript par exemple mais pas après) :

      plugins {
          id "fr.scarex.fcgp" version "1.0.4"
      }
      

      Ensuite il va vous falloir définir vos paramètres dans le bloc “forgeChangelog” comme ceci :

      forgeChangelog {
          clé = valeur
      }
      

      Voici une liste de tous les paramètres disponibles avec leur valeur par défaut :

      String changelogSource = "git" // la source utilisée pour générer le changelog, valeur possibles : git, jenkins(:url) (ici l'url n'est pas obligatoire si vous l'avez mis comme source autre part)
      
      TreeMap<String, TreeMap<String, String>> customVersions // Une liste de versions que vous pouvez rentrer manuellement
      
      String homepage = null // le lien pour télécharger votre mod qui apparaîtra dans le json
      
      Pattern versionPattern = Pattern.compile("(?i)(?<artifactName>[a-zA-Z_-]*)(?:\\-)?(?<version>(?<mcversion>(?:\\d+)(?:\\.\\d+)*)(?:\\-)((?:\\d+)(?:\\.\\d+)*))(?:\\-(?<classifier>[a-zA-Z1-9]+))?") // le pattern afin de déterminer la version de minecraft, par défaut c'est celui conseillé par forge. Il doit OBLIGATOIREMENT contenir le groupe mcversion et version
      
      String versioningSource = "git" // La source utilisée pour générer la liste des versions, valeurs possibles : git, jenkins(:url) (ici l'url n'est pas obligatoire si vous l'avez mis comme source autre part), maven:url
      
      String promosSource = "" // La source utilisée pour générer les dernières versions ainsi que celles recommandées, valeurs possibles : jenkins(:url) (ici l'url n'est pas obligatoire si vous l'avez mis comme source autre part)
      
      File customGitRepo = null // Spécifiez l'emplacement du repo git s'il est différent de l'endroit de votre projet
      
      TreeMap<String, String> promos = new TreeMap<>(Collections.reverseOrded()) // une liste des promos à ajouter manuellement
      
      File destination = null // VALEUR OBLIGATOIRE ! Spécifie l'emplacement du json à générer
      
      boolean prettyPrinting = true // Spécifie si le json doit être rendu de façon claire
      
      boolean generateLatestsFromVersions = true // indique s'il faut générer les dernières versions depuis les versions données
      
      boolean latestsAsRecommended = true // indique s'il faut mettre les dernières versions comme recommandées
      

      Donc par exemple pour un repo git, vous pouvez faire ceci :

      forgeChangelog {
          destination = file("changelog-${archivesBaseName}.json")
          homepage = "http://github.com/User/Repo/releases"
      }
      

      Pour un repo jenkins :

      forgeChangelog {
          destination = file("changelog-${archivesBaseName}.json")
          generateLatestsFromVersions = false
          changelogSource = "jenkins"
          versioningSource = "jenkins:lienVersVotreJenkins"
          promosSource = "jenkins"
      }
      

      Résultat

      Pour mon repo SCLib :

      {
          "homepage": "http://github.com/SCAREXgaming/SCLib/releases",
          "promos": {
          "1.7.10-recommended": "1.7.10-1.2.2",
          "1.7.10-latest": "1.7.10-1.2.2"
          },
          "1.7.10": {
          "1.7.10-1.2.2": "SCAREX : 1.2.2 : - added some CoFH mods for testing - added some source files - fixed bug : the configurator from Mekanism didn\u0027t work\nSCAREX : Renaming + fixed bug",
          "1.7.10-1.2.1": "SCAREX : Added test files\nSCAREX : Added Mekanism Testing things with jitpack.io\nSCAREX : Testing : added optional parameter when publishing\nSCAREX : Testing with install task\nSCAREX : New test",
          "1.7.10-1.2.0": "SCAREX : -Added blocks and items lists -Added energy blocks -Added abstract item\nSCAREX : Modified version",
          "1.7.10-1.1.2": "SCAREX : Nope",
          "1.7.10-1.1.1": "SCAREX : Testing things of jitpack.io",
          "1.7.10-1.1.0": "SCAREX : Added changelog again\nSCAREX : Finally added all the plugins I wanted",
          "1.7.10-1.0.5": "SCAREX : Trying to add changelog maker",
          "1.7.10-1.0.4": "SCAREX : ...\nSCAREX : ..\nSCAREX : Changed version",
          "1.7.10-1.0.3": "SCAREX : still testing\nSCAREX : always testing\nSCAREX : And again\nSCAREX : no comment",
          "1.7.10-1.0.1": "SCAREX : Added gradle wrapper",
          "1.7.10-1.0.0": "SCAREX : First commit\nSCAREX : Modified changelog"
          }
      }
      

      Pour le jenkins de FFMT-libs :

      {
          "homepage": "http://ci.mcnanotech.fr/job/FFMT-libs/",
          "promos": {
          "1.10.2-recommended": "1.7.0.176",
          "1.10.2-latest": "1.7.0.176"
          },
          "1.9.4": {
          "1.6.4.175": "Robin : bump version number for mc 1.9.4\n",
          "1.6.3.174": ""
          },
          "1.9": {
          "1.6.3.173": "Superloup10 : Update Forge, mappings, gradle - add gradle.properties\n",
          "1.6.3.172": "Superloup10 : Fix missing mapping\n",
          "1.6.3.170": "baumeyerkevin : Doc\n",
          "1.6.3.169": "baumeyerkevin : Fix BlockSittable\n",
          "1.6.3.168": "Superloup10 : Add registerBlock\n",
          "1.6.3.167": "baumeyerkevin : Update build.gradle\n",
          "1.6.3.166": "baumeyerkevin : Reverse last\n",
          "1.6.3.165": "baumeyerkevin : New option allowing to disable hats\n",
          "1.6.3.164": "baumeyerkevin : Update FFMTRegistry\n",
          "1.6.3.163": "baumeyerkevin : Update build\n\nbaumeyerkevin : Update to forge 1805\n",
          "1.6.3.162": "baumeyerkevin : Fix build\n",
          "1.6.3.160": ""
          },
          "1.8.9": {
          "1.6.2.159": "baumeyerkevin : Things\n",
          "1.6.2.158": "baumeyerkevin : Imporvement of 3D texts\n",
          "1.6.2.157": "baumeyerkevin : Fix encoding\n",
          "1.6.2.155": "baumeyerkevin : Update to mc 1.8.9, forge 1669, map 20160102\n"
          },
          "1.8.8": {
          "1.6.2.153": "Robin : fix drawTexture function\n",
          "1.6.2.152": "Robin : fix last commit\n",
          "1.6.2.150": "baumeyerkevin : Keep hovering text in screen\n",
          "1.6.2.149": "baumeyerkevin : Update to mc\u0026forge 1.8.8\n"
          },
          "1.8": {
          "1.6.1.148": "baumeyerkevin : Improve slider\n",
          "1.6.1.147": "Robin : java doc, again\n",
          "1.6.1.146": "Robin : fix some other javadoc error\n",
          "1.6.1.145": "Robin : fix some javadoc error\n",
          "1.6.1.144": "Robin : update gradle\n",
          "1.6.0.142": "baumeyerkevin : Change things\n",
          "1.6.0.141": "baumeyerkevin : New GUI\n",
          "1.6.0.140": "baumeyerkevin : Fix texture\n",
          "1.6.0.139": "baumeyerkevin : New gui system\n",
          "1.6.0.138": "baumeyerkevin : things\n",
          "1.6.0.137": "baumeyerkevin : Little fix\n\nbaumeyerkevin : Little fix\n",
          "1.6.0.136": "Robin : remove code about NHG\n",
          "1.6.0.135": "Robin : update forge, avoid to use reflexion for layer\n",
          "1.6.0.134": "jglrxavpok : Fixed crash on servers related to hats\n",
          "1.6.0.133": "",
          "1.6.0.132": "Robin : fix javadoc\n",
          "1.6.0.130": "",
          "1.6.0.129": "",
          "1.5.0.128": "",
          "1.5.0.127": "",
          "1.5.0.126": "",
          "1.5.0.125": "",
          "1.5.0.120": "",
          "1.5.0.119": "",
          "1.5.0.118": ""
          },
          "1.7.2": {
          "1.4.2.84": "",
          "1.4.2.83": "",
          "1.4.2.82": "",
          "1.4.2.81": "",
          "1.4.2.80": "",
          "1.4.2.79": "",
          "1.4.1.76": "",
          "1.4.1.75": "",
          "1.4.0.72": "",
          "1.4.0.71": "",
          "1.4.0.70": "",
          "1.4.0.69": "",
          "1.4.0.68": ""
          },
          "1.7.10": {
          "1.5.0.113": "",
          "1.5.0.112": "",
          "1.5.0.111": "",
          "1.5.0.110": "",
          "1.5.0.105": "",
          "1.5.0.103": "",
          "1.5.0.100": "",
          "1.4.4.99": "",
          "1.4.4.98": "",
          "1.4.4.97": "",
          "1.4.4.96": "",
          "1.4.4.95": "",
          "1.4.4.94": "",
          "1.4.4.93": "",
          "1.4.3.91": "",
          "1.4.3.90": "",
          "1.4.3.89": "",
          "1.4.3.88": "",
          "1.4.3.87": ""
          },
          "1.10.2": {
          "1.7.0.176": "Superloup10 : Bump version, forge version and mappings\n"
          }
      }
      

      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
      • YeyvoY Hors-ligne
        Yeyvo
        dernière édition par

        Super tuto ;D

        1 réponse Dernière réponse Répondre Citer 0
        • 1 / 1
        • Premier message
          Dernier message
        Design by Woryk
        ContactMentions Légales

        MINECRAFT FORGE FRANCE © 2024

        Powered by NodeBB