Bonjour à tous,
Je vous explique d'abord le contexte avant de vous poser plusieurs questions.
Je travaille actuellement sur un projet de développement de plugin Maven 2. Le plugin disposera en particulier d'un goal run, qui devra analyser les POM des différents modules d'un projet Maven quelconque.
Le concept de base du goal run est qu'il devra être lancé qu'une seule fois à partir du module parent (de plus haut niveau). Le plugin ne devra donc pas être éxecuté sur l'ensemble des modules fils (ce qui n'est pas le comportement par défaut de Maven).
Pur faire cela, j'ai lu la documentation de Maven, et deux options me semblent intéressantes : @aggregator et @inheritByDefault false.
Voici les questions que je me pose :
1) L'une de ce 2 options est-elle appropriée à mon problème ?
2) Je n'ai pas cerné la différence entre ces 2 options. Quelle est-elle ?
Ensuite, j'ai un autre problème.
Dans le code source de mon Mojo run, j'ai mis ceci pour récupérer le projet Maven en cours :
Toujours dans le contexte d'un projet multi-module et du goal run lancé une seule fois, le problème est que la variable 'project' contient le POM parent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 /** * @parameter expression="${project}" */ protected MavenProject project;
3) Comment accède-t-on aux POM des modules fils ? (ou comment récupérer des variables de type MavenProject correspondant au mapping des fichiers POM fils)
Voila.
Merci d'avance pour vos réponses.
Partager