Maven 2.1.0 sur les starting blocks

La version 2.1.0 de Maven devrait sortir d’ici quelques jours.
Pour vous mettre un peu l’eau à la bouche, voici les évolutions majeures :

  • Le téléchargement en parallèle des artefacts pour faire chauffer vos bandes passantes,
  • Le passage des propriétés en ligne de commande (-D) qui prévaut sur les valeurs du POM
  • L’encryption des mots de passe dans les settings,
  • Le mode “Reactor” natif qui permet “à la make” de ne construire que les modules nécessaires à un module donné, ou à l’inverse tous les modules utilisant un module donné,
  • Des améliorations sur les performances et une meilleure gestion du build (résolution des propriétés lors des forks, etc),
  • Une nouvelle phase standard dans le cycle de vie : prepare-package,

Sans oublier de nombreuses corrections de bugs.

La liste complète des changements est disponible sur Jira.
Au niveau de la ligne de commandes voici les nouvelles options en gras :

Option Description
-q,–quiet Quiet output – only show errors
-C,–strict-checksums Fail the build if checksums don’t match
-c,–lax-checksums Warn if checksums don’t match
-P,–activate-profiles Comma-delimited list of profiles to activate
-amd,–also-make-dependents If project list is specified, also build projects that depend on projects on the list
-ff,–fail-fast Stop at first failure in reactorized builds
-rf,–resume-from Resume reactor from specified project
-fae,–fail-at-end Only fail the build afterwards; allow all non-impacted builds to continue
-B,–batch-mode Run in non-interactive (batch) mode
-am,–also-make If project list is specified, also build projects required by the list
-fn,–fail-never NEVER fail the build, regardless of project result
-emp,–encrypt-master-password Encrypt master security password
-ep,–encrypt-password Encrypt server password
-up,–update-plugins Synonym for cpu
-N,–non-recursive Do not recurse into sub-projects
-npr,–no-plugin-registry Don’t use ~/.m2/plugin-registry.xml for plugin versions
-gs,–global-settings Alternate path for the global settings file
-U,–update-snapshots Forces a check for updated releases and snapshots on remote repositories
-cpu,–check-plugin-updates Force upToDate check for any relevant registered plugins
-npu,–no-plugin-updates Suppress upToDate check for any relevant registered plugins
-V,–show-version Display version information WITHOUT stopping build
-D,–define Define a system property
-X,–debug Produce execution debug output
-e,–errors Produce execution error messages
-f,–file Force the use of an alternate POM file.
-h,–help Display help information
-o,–offline Work offline
-pl,–projects Build specified reactor projects instead of all projects
-r,–reactor Dynamically build reactor from subdirectories
-s,–settings Alternate path for the user settings file
-v,–version Display version information

Je reviendrai en détail sur ces nouvelles fonctionnalités dès que la version 2.1.0 sera officiellement publiée.

A bientôt.