Actualités

[09/03/2010] PLOSS Rhône-Alpes

Smile a rejoint l’association des professionnels de l’industrie du logiciel libre de la région Rhône-Alpes, PLOSS Rhône Alpes, qui a vu le jour en mars 2010.

[03/03/2010] Partenariat platinum eZ

Smile est devenu le premier partenaire eZ Publish dans le monde au rang de partenaire « Platinum ». C'est le fruit de plus de 6 ans d'investissement des équipes de Smile, sur plus de 100 projets menés à bien, pour les clients les plus exigeants.

[24/02/2010] Site Mobile Smile

Plus qu’un site web accessible pour les téléphones mobiles, le site mobile de Smile est adapté à ce nouveau canal grâce à la création d’un design et d’une architecture propre.

Toutes les actualités
       
Guillemet ouvrant L'actualité des solutions
et des technologies du web Guillemet fermant

Maven 3

Actuellement en alpha 5, la future version de Maven pointe le bout de son nez. Au menu de cette nouvelle version majeure de Maven, de nombreuses nouveautés et améliorations issues des remontées d'information et des features request de la communauté.

La plus notable amélioration en terme de performance est la parallélisation (multi-threading) du build ce qui va optimiser l'utilisation des PIC mais aussi accélérer le build sur le poste du développeur. Toujours dans le registre de l'accélération du développement, l'équipe de Maven est en train de finaliser une nouvelle fonctionnalité de compilation incrémentale liée au plugin m2eclipse qui promet des compilations et des builds instantanés au sein d'Eclipse.

Autre nouveauté majeure, la possibilité d'écrire le fichier POM dans un autre format que XML. Pour le moment, il est question de Ruby, Groovy, Python ou YAML. L'objectif est clairement de pouvoir rédiger un POM de manière moins verbeuse qu'avec le XML.

Voici un exemple de POM en Groovy :

project(modelVersion: '4.0.0') {
artifactId 'myFirstGroovyPom'
packaging 'war'
name 'My First Groovy Pom'
dependencies {
dependency('javax.servlet:jstl:1.2')
dependency('junit:junit:4.7:test')
}
build {
plugins {
plugin('org.mortbay.jetty:maven-jetty-plugin:6.1.14') {
configuration {
scanIntervalSeconds '3' 
}
}
}
}
}

Bien que cela offre une certaine souplesse et une certaine concision, les outils utilisés pour lire un POM autrement qu'en XML doivent encore se mettre à jour pour pouvoir restituer tous ces nouveaux formats. De plus, les développeurs devront savoir lire des POM dans différents formats, à fortiori si aucun nouveau format ne sort du lot rapidement.

D'autres nouveautés sont remarquables comme le chainage de repository, l'apparition de messages d'erreur explicites avec un lien direct vers la documentation, l'injection de dépendance à l'aide de Google Guice (dans Maven 3.1) ou encore l'externalisation des dépendances dans un fichier. Ce dernier point est le plus discutable car il va un peu à l'encontre de la philosophie Maven du « tout dans un seul fichier » mais il s'agit semble-t-il d'une fonctionnalité très demandée.

Il est important de noter que toutes ces évolutions ont été réalisées en maintenant une compatibilité ascendante quasi parfaite. Ainsi, très peu de plugins écrits pour Maven 2 ne seront pas compatibles avec Maven 3. Pour les quelques cas pouvant poser problème, des recommandations permettent aux développeurs des plugins de rapidement les mettre à jour. Il était clairement primordial de ne pas déprécier l'énorme écosystème construit autour de Maven.

Présentation de Jason van Zyl sur Maven 3

Philippe De Oliveira

Commentaires

Soyez la premiere personne à ajouter un commentaire sur cet article.
Ecrire un nouveau commentaire