> Les plugins  
 

Concept

Les tâches exécutées par Maven reposent sur des plugins qui sont des fichiers jar utilisés par le moteur de l'application. Chaque plugin permet d'effectuer une tâche particulière. Pour cela, on peut leur spécifier un certain nombre de paramètres, appelés goals. Les goals sont configurables dans le fichier de configuration de maven : maven.xml

La figure suivante récapitule l'architecture utilisée :

Voici une liste non exhaustive de divers plugins et de leurs goals :

  • jar : deploy, install
  • war : clean, deploy, init, install
  • j2ee : validate-war
  • javadoc : deploy, install
  • pdf
  • latex : prepare-filesystem, generate
  • eclipse : add-maven-repo, generate-classpath, generate-project
  • jbulder : generate-library, generate-project

La commande maven -g permet d'avoir la liste de tous les plugins disponibles avec leurs goals.

Personalisation et création de plugins

Il existe 3 niveaux de personalisation des plugins :

  • maven.xml : ajout d'extensions <postgoal> et <pregoal>
  • maven.xml : création de goals
  • Développement de plugins en Jelly

Le Jelly

C'est le langage utilisé pour le développement simple et rapide de plugins. Il s'appuie sur le XML et rajoute la possibilité d'effectuer des boucles et des tests dans le code, comme le montre l'exemple suivant :

<?xml version="1.0" encoding="ISO-8859-1"?>
<project xmlns:j="jelly:core">
  <goal name="Echo Dependencies">
    <j:forEach var="dep” items="${pom.dependencies}">
      <echo>${pom.getDependencyPath(dep.getId())}</echo>
    </j:forEach>
  </goal>
</project>

 


Ingenieurs2000 27 février 2004