19 novembre 2009

Maven 3 sur les rails

Jason était sur Devoxx pour une session consacrée à Maven 3.

Pas un mot sur mon bouquin (on est plus très potes tous les deux) et Jason a une curieuse façon de faire des slides en police 8.

Ceci dit, la session était une très bonne mise au point sur ce que sera Maven3 et les progrès accomplis. Par contre, l’approche et le débit de Jason s’adressait à des gens déjà très pointus sur Maven, aussi je doute que l’utilisateur lambda en retienne grand chose. Ce qui est déjà rassurant, c’est que je n’ai pas dit trop d’âneries sur Maven3 dans le livre ;)

  • une refonte des API pour rendre le code plus propre et extensible
  • une abstraction pour la construction du Modèle (POM) à partir du fichier POM.xml, ce qui permet d’utiliser des formats alternatifs (groovy, yaml …)
  • la manipulation des artifacts totalement reécrite et repensée pour être indépendante. Elle peut donc être utilisée dans d’autres outils
  • la construction du ‘build plan’ avant l’exécution des plugins, qui permet de tripatouiller ce plan avant qu’il soit exécuter. Cela permet à m2eclipse de reconfigurer certains plugins pour ne pas remplacer ce qu’Eclipse sait déjà faire très bien tout seul, ou à Tycho de remplacer la résolution des dépendances par les mécanismes OSGi d’Eclipse

On termine la journée par un BOF sur Parleys, l’occasion de faire le point sur cette plateforme géniale et sur son modèle économique. Visitez le channel Breihjug sur beta.parleys.com si vous ne connaissez pas.

Fini Devoxx pour moi, une dernière bière et on rentre pour retrouver la vraie vie :)

2 commentaires:

Mickael BARON a dit…

Salut Nicolas,

Lors de la présentation, Jason a-t-il parlé de la compatibilité avec les anciens plugins Maven 2 ? Si je migre sur Maven 3, dois-je tout refaire ?

Merci pour tes retours sur Devoxx

Nicolas De Loof a dit…

le tout premier axe de développement de Maven3 est la rétro-compatibilité. Plus de 500 tests d'intégration contribuent à la vérifier et tous les builds de projets opensource d'Apache et Codehaus sont mis à contribution pour le vérifier sur le terrain.

Sans cette compatibilité, avec le nombre d'utilisateurs de Maven2, il n'y aurait pas d'avenir pour Maven 3. C'est aussi pour ça que ça prend tant de temps : Jason ne veut pas lacher une release "final" qui ne serait pas transparente et ferait un tort monstre à Maven.

Le plus simple pour te faire une idée est de télécharger la version alpha-4 et de tenter de construire ton projet. Tu garde bien sur ton maven2 à côté, mais ce test est plutôt bénéfique. Si tu utilises m2eclipse 0.9.9 tu est en fait déjà dans cette situation !