30 janvier 2009

Développement : packaging de l'outil de visualisation de dépendances Maven

Voici que quelqu'un qui lit mon blog me demande l'outil qui produit un diagramme UML correspondant aux dépendances entre mes projets Maven... Voir mon post ici : Visualiser les dépendances entre projets Maven.

OK, certes c'est à sa propre demande et à ses risques et périls, et il est par ailleurs simple d'envoyer le JAR par e-mail à cette personne.

Mais alors quid de :
  1. la capitalisation ? C'est-à-dire, cette démarche d'envoyer le JAR, comment la répéter à moindre coût si on me refait plus tard la demande ?
  2. la documentation ? Je n'ai pas tellement envie de passer du temps là-dessus.
  3. le support ?
  4. ... la capitalisation du support : il y aura des bugs, des questions, auxquelles je répondrai volontiers, mais comment capitaliser là-dessus ?
  5. ... l'accès aux entrailles de l'outil : le mieux serait de donner accès aux sources.
  6. la licence sur l'outil et son utilisation ? - voire sur ses sources.
Donc, cher fred que je ne connais pas ;-) je propose que nous fassions simple :
  • pour le JAR, je le rends publiquement disponible sur mon serveur Nexus. Le téléchargement se fait donc par en utilisant comme repository Maven : http://ref.avcompris.com/nexus/content/repositories/public-releases/ Ou directement pour le JAR en question : JAR with dependencies.
  • pour les sources sous Subversion, je les mets ici, accessibles en lecture seule par HTTP sans authentification : http://svn.avcompris.com/
  • pour la documentation, eh bien je vais faire un article dans ce blog pour expliquer succinctement comment faire fonctionner l'outil. Prochainement. Le reste proviendra des réponses aux questions.
  • pour le support, donc, envoyer questions/réponses dans le blog ou par e-mail.
  • pour la licence :
  • ... utilisation et modification qui imposent de respecter et de mentionner le nom de l'auteur David Andrianavalontsalama, ou encore David Andriana an nom d'usage
  • ... application de la licence open source BSD, dont une version en anglais est ici : The BSD License
  • ... utilisation et modification libres sans restriction à part celles qui précèdent.
  • logiciel et sources mis à disposition sans aucune garantie de quoi que ce soit et attention ce logiciel peut partir en vrille et vous êtes responsable de ce qui arrive, à vous ou à d'autres, à partir du moment où vous l'utilisez.
Je ne vais pas recopier tout de suite la licence dans les fichiers sources. Manque de temps, tout ça.

Déjà qu'il me faut faire les deux trois choses qui suivent...

...

Plus de quatre heures après (eh oui !), voici ce que ça m'a coûté :
  • créer sur mon serveur Nexus un repository ouvert au public pour les 12 projets Maven concernés,
  • changer la configuration <distributionManagement> des projets Maven pour qu'ils se déploient désormais dans ce repository,
  • passer deux projets de mon repository Subversion privé vers mon repository public,
  • rajouter une ligne de Copyright dans les fichiers,
  • faire une petite revue de javadoc rapide « histoire de »,
  • passer quelques tests maison orientés qualité,
  • reconstruire les projets,
  • lancer les releases Maven,
  • rédiger et publier des articles de blog.
Je suis à quelques jours d'une mise en production d'un projet qui dépend de ceux-là : il était donc de toute façon nécessaire que je fasse tout ce qui concerne les releases Maven. On va dire que le fait de rédiger de la doc est un effet collatéral positif ;-)

Voilà fred, tu pourras me faire ton retour...

Aucun commentaire: