De mon côté, j'utilise essentiellement Maven2, mais je commence à jeter un oeil sur Gradle (à mon avis, c'est plus pour le fun que pour vraiment l'utiliser, mais on ne sait jamais).
Concernant Maven 2 :
Les bons points :
- Si on respecte les conventions de Maven 2, l'écriture d'un pom.xml est très simple et peu verbeux.
- La gestion des dépendances, qui, sans être parfaite, a beaucoup simplifié les choses.
- L'héritage et les projets multi-modules.
- Les plugins de rapports.Le développement de nouveaux plugins est relativement simple.
- Pour des projets simples, avec un pom.xml, on peut faire plein de choses facilement (compilation, tests, création de sites, rapports, etc.).
- Bien supporté dans la plupart des outils d'Intégration Continue.
- Le principe de décrire son projet plutôt que de décrire les tâches que l'on souhaite réaliser (mais c'est un aussi un point négatif, dès que l'on veut faire quelque chose qui sorte de l'ordinaire).
Les mauvais points :
- Dès que l'on veut sortir un peu du système Maven2, que l'on veut faire des choses un peu en dehors du cadre de l'outil, ça devient vite complexe.
- Trop verbeux sur les dépendances. Pourquoi n'avoir pas dès le début permis une syntaxe à la Ivy (<dependency groupId="xxx" artifactId="xxx" version="xxx"/>) ?
- On utilise trop de plugins, parfois pour des tâches simples. Par exemple, si on a 2 répertoires de sources Java, le pom.xml est
- Documentation mal fichue sur le site (mais on a le droit à des livres gratuits en anglais et en français, ça compense).
- Les métadonnées XML sont très obscures je trouve (celles qui se trouvent dans le repository).
- XML parfois redondant, même en utilisant l'héritage.
- Mauvais support sur les IDE, en particulier sur les projets multi-modules, bien que ça s'améliore...
- Même si c'est de plus en plus rare avec un nombre croissant de plugins, c'est dommage d'avoir recours à Ant dans Maven2 pour faire certaines tâches qui sortent un peu de l'ordinaire (ou alors il faut développer son propre plugin).
- Développement et support des plugins "officiels" inégaux.
Bon, la liste n'est sans doute pas tout à fait complète, mais ça devrait refléter mon avis.
Pour conclure, je dirais que si je dois aller sur un nouveau projet, je choisirais clairement Maven2, malgré ses défauts.
Etant donné ma connaissance de l'outil, j'arrive généralement à m'en sortir sans trop de dégâts, dès qu'il y a des choses un peu exotiques à réaliser...
0 |
0 |