SCC

SCC est l'abréviation de SubCortex Client et SubCortex est le dépôt SubVersion qui contient le code source du projet Cortex.

Pour la gestion des versions, j'ai dû mettre en oeuvre un serveur SubVersion pour la société UltraSoft AG. Le choix de SubVersion était dicté par le mandant, car il possède déjà plusieurs serveurs de ce type pour d'autres projets.

Le projet Cortex est assez complexe. Il s'agit en réalité d'une vingtaine de projets et sous-projets qui constituent un framework permettant de construire rapidement des applications Web.

Pour gérer les dépendances entre les différentes versions des sous-projets, l'outil Maven a été utilisé. La combinaison Maven/SubVersion donne de très bons résultats. Le seul problème est qu'avec autant de projets, il est difficile pour les développeurs de gérer les bonnes versions. Il faut systématiquement ouvrir le pom.xml de tous les projets et gérer les dépendances à la ligne de commande. Mon client m'a donc demandé de réaliser un outil pour simplifier ces opérations...

Le programme SCC est développé en Java/Swing. Il utilise la librairie "snvkit" pour dialoguer avec le serveur SubVersion et une poignée de routines récursives pour les lectures sur le disque et l'affichage sous forme d'arbre.

La partie gauche de l'application présente tous les projets du dépôt et la partie droite affiche les différents outils.

SCC : page principale

Par exemple, un code de couleur montre les dépendances entre les différentes versions de sous-projets
SCC : Dépendances

Ou alors, la partie droite permet de visualiser le fichier "pom.xml"
SCC : pom.xml

Une fois le projet choisi dans l'arbre. Un simple click permet de télécharger l'ensemble des sources du projet et de tous les sous-projets avec lesquels il y a des dépendances.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>