...
Dans cet entrepôt, on peut également trouver des librairies modifiées / patchées pour certains développements Esup.
sonatype & entrepôt maven central
Depuis 2016, EsupPortail peut également pousser ses développements sur le maven central.
Pour ce faire, nous passons par sonatype : https://oss.sonatype.org
Pour coller aux conventions de nommage des espaces de noms Java, nous poussons sur le groupId org.esupportail, mais nous poussons également indiféremment sur org.esup-portail. EsupPortail a en effet le contrôle sur l'espace de noms esupportail.org en plus de esup-portail.org.
Le ticket ayant initié cette publication pour le groupId org.esupportail se trouve ici https://issues.sonatype.org/browse/OSSRH-26136 (NB :
esup-smsu-api-lib utilise et comme esup-otp-cas utilisent l'espace de nom org.esup-portail.org, cf https://issues.sonatype.org/browse/OSSRH-10160 )
Pour la mise en oeuvre de la publication sur maven central via sonatype, nous pouvons nous aider du guide donné ici : http://central.sonatype.org/pages/apache-maven.html
...
Les jar sont signés avec une clé GPG, mais ce qui compte semble être le login + mot de passe . Les droits d'upload sur sonatype sont fonction du compte https://issues.sonatype.org utilisé pour l'upload vers oss.sonatype.org . Le mot de passe peut être stocké dans settings.xml de mavenou plus les tokens peuvent être stockés dans settings.xml de maven.
Pour gradle, le fonctionnement est similaire ; voir à ce propos le projet esup-otp-cas et son fochier build.gradle : https://github.com/EsupPortail/esup-otp-cas/blob/master/build.gradle
Quand et pourquoi publier sur le maven central ?
La publication sur le maven central constitue une étape supplémentaire dans la chaîne de distribution de logiciels, cela alourdit encore la proicédure de mise à disposition de nouvelles versions (relases) d'une application.
Aussi, suivant l'application, cette étape n'est pas indispensable, ni même opportune : elle doit répondre à un besoin réel et identifié.
La distribution de librairies Java à utiliser dans diverses applications Java justifie cette mise en oeuvre.
esup-otp-cas est un très bon exemple d'une telle mise en oeuvre : l'architecture et la distribution du logiciel Apereo CAS se basent sur des modules Java chargés via gradle depuis les entrepôts Maven.
L'alternative d'utiliser https://jitpack.io relié directement à github.com est pratique mais pas sans inconvénient : instabilité des builds du notamment au fait que ceux-ci sont mis en oeuvre duynamiquement et à la demande ; le dépôt dans le maven central répliqué et stable, notamment des versions taguées (releases) est bien plus adapté à la distribution d'un tel logiciel.
Contacts
Si vous souhaitez obtenir un compte sur l'entrepôt maven esup, pousser vos développements esup sur le maven central, vous pouvez nous contacter :
...