Publier Votre Plugin

Le dépôt officiel de plugins et mods de Sponge, Ore, est un projet libre et ouvert à n’importe qui qui souhaite public son plugin Sponge ou sont mod Forge.

Préparation de votre Plugin

Ore requiert tout les projets d’être compilé avec un fichier mcmod.info qui devra se trouver à la racine de votre mod ou plugin. Ce fichier est utilisé pour automatiquement transmettre des données importantes par rapport à votre projet et donc faciliter la mise en ligne de celui ci. Ore rejettera votre plugin ou mod si ce fichier est manquant dans votre JAR. Heureusement, Sponge API permet de générer ce fichier automatiquement, lors de la compilation, en utilisant l’annotation @Plugin que vous avez surement déjà créée dans votre classe principale.

Note

Pour plus d’informations pour la création et la compilation de votre premier plugin, voir : Classe Principale du Plugin.

Pour référence, voici un exemple de fichier mcmod.info.

[
    {
        "modid": "my-plugin",
        "name": "MyPlugin",
        "version": "1.0.0",
        "description": "My first plugin!",
        "url": "https://spongepowered.org",
        "authorList": [
            "windy",
            "Zidane",
            "gabizou"
        ],
        "requiredMods": [
            "[email protected]",
            "[email protected]",
            "[email protected]"
        ],
        "dependencies": [
            "[email protected]",
            "[email protected]",
            "[email protected]"
        ]
    }
]

Au minimum, chaque projet Ore doit avoir les champs modid, name et version de complétés !

Signer votre Plugin

Pour des raisons de sécurité, Ore exige que chaque fichier de plugin (ZIP ou JAR) soit envoyé avec une signature détachée Pretty Good Privacy (PGP) <https://en.wikipedia.org/wiki/Pretty_Good_Privacy>`__ pour une clé publique qui est associée avec l’email avec lequel vous vous êtes inscrit sur Sponge. La signature digitale garantit que tous les fichiers envoyés par un utilisateur soient bien envoyés par le titulaire du compte.

Note

Une signature numérique certifie et horodate un document. Si le document est modifié par la suite de quelque façon, une vérification de la signature échouera. Une signature digitale peut avoir le même but qu’une signature manuscrite avec l’avantage d’être inviolable La distribution de source GnuPG, par exemple, est signée afin que les utilisateurs puissent vérifier que le code source n’a pas été modifié depuis qu’il a été emballé.

Afin de signer votre plugin, vous devez tout d’abord télécharger un logiciel compatible avec PGP, comme GnuPG (GPG).. GPG est disponible pour toutes les plateformes majeures et les fichiers binaires peuvent être téléchargés ici.

Une fois que vous avez installé GPG et que vous avez généré votre première clé publique, vous aurez besoin d’ajouter la clé à votre compte. Pour faire ceci, vous pouvez accéder à votre profil et cliquer sur le symbole de la clé à côté de votre avatar.

PGP public key 1

On vous demandera alors d’entrer votre clé dans une zone de texte. Vous devez être sûr d’entrer la clé dans son intégralité ou la validation de la signature échouera.

PGP public key 2

Finalement, vous devez signer votre plugin avec votre clé privée de la clé publique que vous avez envoyé. Vous devez seulement signer le fichier que vous envoyez : par exemple, si vous envoyez un fichier ZIP avec le JAR de votre plugin inclus, seulement le ZIP a besoin d’être (et doit être) signé. La façon la plus simple de signer le fichier que vous souhaitez envoyé est avec la commande GPG suivante.

gpg --output myplugin-1.0.0.jar.sig --detach-sig myplugin-1.0.0.jar

Note

Si vous utilisez un build manager comme Gradle ou Maven, il y a des plugins que vous pouvez appliquer à votre script de build qui peuvent signer les artefacts compilés et automatiser ce processus laborieux pour vous. Pour plus d’informations, référez-vous à la documentation de Gradle ou la documentation de Maven.

Mettre en Ligne votre Plugin

Une fois que le fichier JAR de votre plugin est emballé avec un fichier descripteur mcmod.info au niveau supérieur et qu’il est signé avec votre clé privée PGP, votre plugin est prêt pour la mise en ligne ! Pour créer un projet sur Ore, vous devez avoir un compte Sponge actif. Cliquer sur le bouton « Sign up » dans le coin en haut à droite vous mènera sur la page appropriée pour en créer un. Si vous possédez déjà un compte, appuyez juste sur le bouton « Log in » en haut à droite pour vous connecter à Ore.

Une fois connecté, naviguer à votre avatar et sélectionner l’option « New » dans le menu déroulant qui apparaît, ou appuyez juste sur la touche « C ».

Lors de la mise en ligne, l’assistant de création vous demandera tout d’abord votre fichier principal, puis votre signature détachée.

Configurer Votre Projet

Après avoir mis en ligne votre plugin, vous aurez quelques paramètres pour configurer votre projet comme vous le souhaitez. Ne vous inquiétez pas, tout ceci pourra être changé plus tard dans le panneau de paramètres. Après avoir configuré votre projet vous serez en mesure d’inviter des utilisateurs de Sponge à faire partie de votre projet. Tout utilisateur qui est inscrit sur les forums peut être invité à un projet même si ils ne ce sont jamais connectés à Ore. Lors de la création de votre projet, les utilisateurs que vous avez invités recevront une notification et pourront soit accepter, soit décliner votre invitation. Les membres du projet ne seront pas visibles au public jusqu’à que l’invitation ait été acceptée.

Il y a actuellement trois rangs que vous pouvez assigner aux membres du projet : Développeur, Editeur et Support. L’utilisateur qui a créé le projet est désigné comme Propriétaire ce qui lui confère un accès intégrale au projet. Voici un rapide aperçu de ce que chaque rang peut faire au sein de votre projet.

Propriétaire

Il y a un maximum d’un propriétaire par projet, ce rang est non transférable pour le moment. C’est le seul rang capable d’assigner des rangs aux autres membres.

Développeurs

Les développeurs peuvent créer/éditer des release channels, des pages et créer/éditer les versions.

Éditeur

Les Editeurs peuvent éditer les pages du projet.

Soutien

Les Soutiens ne peuvent rien faire, ce rang sert à montrer la participation au projet du membre.