Maven Community news - Avril 2008

le 02/05/2008 par Arnaud Heritier
Tags: Évènements

MavenBonjour à tous,

Au menu ce mois-ci, une communauté très active : maven 2.0.9 et pas mal de plugins mis à jour. Pour les lecteurs assidus vous retrouverez dupliquées les informations de ce début de mois que j'avais déjà diffusées dans mon précédent billet.

En gras les releases "majeures" (non alpha, beta, RC et autres versions pas encore considérées comme abouties). En italique les annonces "périmées" par une annonce plus récente.

Apache Maven 2.0.9

10 Avril : Cette nouvelle version était très attendue car elle corrige de très nombreux bugs et apporte quelques évolutions intéressantes. L'objectif principal de cette release était de se concentrer sur la correction des régressions des versions précédentes. En ce sens un effort important a été fait, avec pour la première fois, la publication sur plusieurs semaines de plusieurs Release Candidates (8 au total).

Les nouveautés les plus importantes :

  • Verrouillage des versions des plugins les plus utilisés dans un build (Liste des plugins) au niveau du super pom (MNG-3395). De ce fait la version 2.0.9 ne mettra plus à jour automatiquement ces plugins. Pour utiliser une autre version vous devrez la définir dans votre pom (dans le pluginsManagement ou dans les plugins). Ceci n'a donc aucun effet pour les projets ayant déjà adopté cette stratégie (plus que recommandée pour assurer la stabilité de votre build dans le temps).
  • Nouveau scope import pour les dépendances. Cette nouvelle fonctionnalité permet de déleguer le dependencyManagement de son projet via une dépendance et non plus uniquement par héritage. Ceci peut se montrer très utile si vous souhaitez par exemple préconiser des versions de dépendances pour un ensemble de projets sans avoir à leur imposer un héritage. Attention cependant, les anciennes versions de maven ne sont pas capables d'exploiter ce nouveaux scope. Vous devez donc vous assurez que maven 2.0.9 est utilisé pour toute l'équipe de votre projet et des projets qui dépendent de ce dernier.
  • Ajout du support des toolchains dans le noyau. Dès que le plugin du même nom sera distribué, et les plugins existant (compiler, javadoc, ...) mis à jour, le paramétrage du JDK dans les différents plugins sera transparent.
  • Ajout du support natif de webdav (MNG-2664). Plus besoin d'avoir un pom avec l'extenson webdav de déclarée pour utiliser la commande deploy:deploy-file.
  • Création du classpath en fonction de l'ordre de déclaration des dépendances.
  • Plus de fléxibilité dans la définition des mirrors.

Les corrections :

  • De nombreuses corrections sur le mécanisme de calcul de la résolution des dépendances transitives. Ceci peut créer des surprises si votre build reposait sur des bugs des anciennes versions de maven. Pensez à utiliser le goal dependency:analyze pour avoir une idée de l'utilisation que vous faites de vos dépendances. Sinon executez le goal dependency:tree avant et après migration en 2.0.9 pour comprendre les différences de résolution.
  • Les erreurs de transferts ne devraient plus pouvoir corrompre le contenu de votre repository local.
  • La non lecture des settings (MNG-2234) si maven est lancé dans un répertoire sans pom. Correction très utile pour le plugin archetype lorsque l'on est dans un environnement avec un proxy.
  • Et tout un tas d'autres corrections ...

Plugins Maven 2.x @maven.apache.org

  • 29 Avril - Archetype 2.0-alpha-3 : Pas mal de corrections, l'upgrade est recommandée. Le mojo archetype:crawl vous permet de rapidement créer un catalogue d'archetypes à partir d'un repository local.
  • 16 Avril - Changes 2.0
  • 05 Avril - Eclipse 2.5.1 : Quelques rapides corrections dans l'idée de faire des releases plus petites et plus fréquentes. Une 2.5.2 devrait suivre très rapidement alors votez pour les issues qui vous concernent.

Plugins Maven 2.x @mojo.codehaus.org

Et sinon ...

  • 24 Avril - Apache Archiva prend son envol. Suite à l'acceptation au mois dernier de faire d'Archiva un Top Level Project chez Apache, l'infrastructure est désormais en place. Le site web est désormais http://archiva.apache.org et les listes de diffusions XXX@archiva.apache.org .
  • 22 Avril - m2eclipse 0.9.3 : Il est désormais possible de référencer ses propres catalogues d'archetypes.
  • 21 Avril - MvnIndex.org 0.2.6 : Un site web de recherche des artifacts, alternative (en plus simple) à http://mvnrepository.com/ qui a de plus en plus de soucis du fait du manque de stabilité de ibiblio. Le plugin eclipse pour gérer les dépendences est sympathique même si maintenant Q4E ou m2eclipse le remplacent bien mieux (possibilité d'indexer les repositories internes ...).
  • 17 Avril - Q4E 0.6.0 : Le support de WTP est enfin intégré.
  • 14 Avril - m2eclipse 0.9.2 : Ajout de l'intégration de maven SCM pour faire le checkout de projets.
  • 09 Avril - Sonatype's Nexus 1.0-beta-2 : Mise à jour suite aux premiers retours d'utilisateurs (externes à Sonatype, ces derniers l'utilisant en clientèle depuis plusieurs mois)...
  • 09 Avril - Apache Archiva 1.0.2 : Histoire d'alimenter la compétition avec Nexus, voici quelques corrections de bugs supplémentaires. Les grosses évolutions sont en cours mais cela sera pour la version 1.1.
  • 03 Avril - Sonatype's Nexus 1.0-beta-1 : Un nouvel arrivant sur le marché des gestionnaires de repositories Maven. Ce produit commercial est poussé par Jason Van Zyl (Maven's dad) et il met les moyens nécessaires pour en faire le serveur de référence : Archiva et Artifactory n'ont qu'a bien se tenir. Un peu de compétition ça ne fait jamais de mal. La version Free de Nexus (ex-Proximity) sera disponible prochainement mais bien sur avec moins de fonctionnalités.
  • 01 Avril - m2eclipse 0.9.1 : Essentiellement du bug fix et l'ajout de ré-indexation des repositories au startup.

N'hésitez pas à partager vos news ou vos avis sur les plugins cités ci-dessus dans les commentaires de ce posts.