Pages enfant
  • Maven

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

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 :

...