Maven Community news - Février et Mars 2008

le 14/04/2008 par Arnaud Heritier
Tags: Évènements

MavenBonjour à tous,

Revoici la synthèse des news de la communauté Maven. Quelques contraintes m'ayant empêchées de rédiger celles du mois de février, vous retrouvez ici celles des deux derniers mois. Et comme en plus avril est déjà bien entamé, je vous livre les nouvelles de ce début de mois en plus.

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 les metadata 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

  • 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.
  • 25 Mars - Plugin Tools 2.4.1 : Correction des bugs majeurs de la 2.4.
  • 20 Mars - Shade Plugin 1.0.1
  • 18 Mars - Plugin Tools 2.4 : Plusieurs bugs important le rendent inutilisables :-( Cependant elle apporte pas mal de nouvelles fonctionnalités et corrections.
  • 18 Mars - Eclipse Plugin 2.5 : Pas mal de nouvelles fonctionnalités avec le support de WTP 2.0, MyEclipse, et la lecture de certains paramètres depuis votre workspace.
  • 13 Mars - Javadoc Plugin 2.4
  • 04 Mars - Shade Plugin 1.0 : Ce plugin permet d'assembler dans un jar unique (uber-jar) un projet et ces dépendances. il offre de plus la possibilité de renommer les packages des dépendances pour éviter les conflits.
  • 29 Février - Assembly Plugin 2.2-beta-2
  • 23 Février - Stage Plugin 1.0-alpha-1 : Permet de gérer vos releases en deux temps. La release se fait dans un espace privé, et après vérification celle-ci est recopiée à l'aide de ce plugin dans l'espace publique.
  • 23 Février - Archetype Plugin 2.0-alpha-2 : Correction des incompatibilités des paramètres par rapports aux versions 1.0-alpha.
  • 20 Février - Surefire 2.4.2
  • 09 Février - Archetype Plugin 2.0-alpha-1 : Refactoring complet du plugin. Ajout d'un mécanisme de catalogue pour proposer dynamiquement une liste de choix aux utilisateurs.
  • 06 Février - Surefire 2.4.1

Plugins Maven 2.x @mojo.codehaus.org

Et sinon ...

  • 14 Avril - m2eclipse 0.9.2 : Ajout de l'intégration de maven SCM pour faire le checkout de projets.
  • 03 Avril - Sonatype's Nexus 1.0-beta-1 : 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.
  • 09 Avril - Sonatype's Nexus 1.0-beta-2 : 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.
  • 27 Mars - Hortis Sonar 1.2 : Quelques bugs en moins et un nouveau L&F. L'équipe est très active. J'attends avec impatience la prochaine version qui j'espère corrigera les problèmes de consommation excessive de ressources.
  • 25 Mars - Apache NMaven 0.15-incubating : Du Maven pour .NET :-) J'adore. A quand le build sans frontière, Java, .NET, Cobol, ...
  • 13 Mars - Sonatype's book "Maven: The Definitive Guide" : Cette nouvelle mouture du livre sur Maven 2 est très complète. Plus de 200 pages dans la version PDF pour répondre a l'essentiel de vos questions sur Maven (bien sur avec quelques réponses orientées sonatype : Nexus, m2eclipse, ...).
  • 12 Mars - m2eclipse 0.9.0 : Beaucoup de mouvements avec la compétition avec Q4E. Poussé désormais par Sonatype, l'intégration avec Nexus s'avère très utile.
  • 07 Mars - Hortis Sonar 1.1 : Beaucoup d'améliorations sur cette version. Une installation qui ne pourrait pas être plus simple.
  • 04 Mars - Acceptation du passage d'Archiva en Top Level Project chez Apache. L'envol ne devrait pas tarder maintenant que la version 1.0.2 a été publiée. Votre aimable serviteur embarque à bord en tant que membre du PMC.
  • 04 Février - Apache Archiva 1.0.1 : Perso je suis toujours ennuyé par le bug MRM-753 qui empeche certains déploiements (bug reproduit sur windows et linux). Sinon ce serveur fonctionne très bien et est en production chez plusieurs clients.
  • 11 Février - Acceptation du passage de Continuum en Top Level Project chez Apache. Il a pris son envol le 18 Mars (http://continuum.apache.org) avec aux commandes Emmanuel Venisse (cocorico, un petit frenchy).

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