Industrialisation d'un projet "legacy" (2/2)

Je travaille actuellement sur l'industrialisation d'un gros projet "legacy" : je mets en place le build par Maven, l'intégration continue avec Jenkins, et la qualimétrie avec notamment PMD et Checkstyle, configurés via Sonar.

Le précédent billet expliquait comment j'avais réussi à placer le projet sous intégration continue avec Maven et Jenkins ; dans celui-ci, je parlerai de qualimétrie avec Sonar, PMD et Checkstyle.

Lire la suite...

Industrialisation d'un projet "legacy" (1/2)

Je travaille actuellement sur l'industrialisation d'un gros projet "legacy" : je mets en place le build par Maven, l'intégration continue avec Jenkins, et la qualimétrie avec notamment PMD et Checkstyle, configurés via Sonar.
Mais l'application ne respecte évidemment aucune des conventions de Maven - "multi-module" mais pas tout à fait, arborescence des sources différente, jars exotiques non identifiés...

Comme j'ai pas mal lutté pour faire marcher tout ça ensemble, je vous livre ici mon retour d'expérience et les quelques astuces que j'ai glanées ci et là.

Lire la suite...

Conférence sur Gradle chez Zenika

logo.jpgZenika et SkillsMatter organisent le jeudi 25 juin une conférence sur Gradle.
Animée par Hans Dockter en personne, elle sera l'occation de découvrir ce puissant système de build et de le comparer à Maven, le standard actuel.

Cette conférence va principalement être composée de démos, en démarrant par un simple build "hello world" pour ensuite travailler avec une application Java puis un projet Web. Ensuite sera abordé un build plus complexe multi-projets.

Lire la suite...

Utiliser Gradle pour télécharger des librairies

Après les billets expliquant comment télécharger un ensemble de librairies dans un répertoire local avec Maven puis avec Ant et Ivy, voici comment faire la même chose avec Gradle (merci à Grégory Boissinot pour ses explications).

Lire la suite...

Utiliser Maven pour télécharger des librairies

Maven, c'est comme la betterave : on aime, ou pas.

Je me range plutôt dans la seconde catégorie, mais j'ai récemment découvert (grâce à Grégory Boissinot) une utilisation méconnue de cet outil qui se révèle très pratique lors de la mise en place de projets non-Maven : le téléchargement automatique de librairies et de leurs dépendances. C'est praticulièrement intéressant lorsqu'on met en place des stacks techniques comprenant des frameworks assez lourds comme Hibernate, qui possède de nombreuses dépendances.
Notez que cette astuce peut également avoir son utilité sur des projets Maven, car il est parfois nécessaire de récupérer localement les librairies, par exemple pour distribuer le projet complet à un client, effectuer une démonstration de l'application depuis un CDRom, ou encore travailler sur un poste sans connexion Internet.

Concrètement, comment fait-on ?

Lire la suite...