IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Maven Java Discussion :

[Maven 2] Lier l'exécution de plugins


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Fondateur
    Inscrit en
    Octobre 2002
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Fondateur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2002
    Messages : 445
    Par défaut [Maven 2] Lier l'exécution de plugins
    Bonjour,

    J'utilise Maven 2 dans le cadre d'un projet et je souhaiterais pouvoir lier l'exécution d'un plugin à l'exécution d'un autre plugin.

    Plus précisément, dans mon projet j'ai un plugin A et un plugin B. Et j'aimerais que lorsque j'exécute mon plugin A le plugin B soit appelé juste avant l'exécution du plugin A.

    Dans mon cas précis le plugin A est le plugin gwt-maven-plugin et le plugin B est le plugin maven-antrun-plugin.

    Ma configuration dans mon POM est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    ...
    			<plugin>
    				<groupId>org.codehaus.mojo</groupId>
    				<artifactId>gwt-maven-plugin</artifactId>
    				<version>1.2</version>
    				<executions>
    					<execution>
    						<phase>process-ant</phase>
    						<goals>
    							<goal>compile</goal>
    							<goal>generateAsync</goal>
    							<goal>test</goal>
    						</goals>
    					</execution>
    				</executions>
    				<configuration>
    					<webXml>war/WEB-INF/web.xml</webXml>
    			 <runTarget>fr.blabla.Appli/Appli.html</runTarget>
    				</configuration>
    			</plugin>
     
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-antrun-plugin</artifactId>
    				<version>1.2</version>
    				<executions>
    					<execution>
    						<id>process-ant</id>
    						<configuration>
    							<tasks>
    								<echo message="Test" />
    							</tasks>
    						</configuration>
    						<goals>
    							<goal>run</goal>
    						</goals>
    					</execution>
    				</executions>
    			</plugin>
    ...
    Dans le paramétrage actuel, je pensais que l'exécution avec mon id process-ant correspondait à une phase process-ant que je pouvais binder dans d'autres exécutions de plugins. C'est donc ce que je tente dans le plugin gwt-maven en mettant process-ant dans la balise phase de mon execution.

    Cependant, cela ne fait rien. Lorsque je lance gwt:compile du plugin gwt-maven-plugin, la phase process-ant (ou ce que je croyais être la phase ant) n'est pas lancée.

    Quelqu'un aurait une idée pour pouvoir lier 2 plugins dont les phases ne sont pas des phases standards de Maven ?

    Merci d'avance de votre aide.

    Sylvain

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 78
    Par défaut
    Bonjour,

    Dans les balises "execution" de la configuration d'un plugin dans ton pom :
    - "phase" correspond à la phase de build de ton projet pendant laquelle tu demandes l'exécution du plugin. Donc "phase" n'est pas ici spécifique à ton plugin contrairement à ce que je crois que tu avais compris
    - "goals/goal" correspond au(x) goal(s) du plugin que tu veux exécuter. Donc les goal sont eux bien spécifiques au plugin

    Si tu veux que tes 2 plugins s'éxécutent l'un après l'autre, lie le premier à une phase de ton build, et le second à une autre successive. Je crois qu'ils s'exécuteront dans l'ordre d'apparition dans le pom s'ils sont liés à une même phase de ton projet. Donc tu peux par exemple les mettre tous les 2 sur la phase "compile" dans le bon ordre. Mais pour l'ordre ça reste à vérifier, au pire donc, choisis 2 phases successives, voir le lien HTTP en bas.

    Pour 2 plugins A et B :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <plugin>
      <groupId>groupIdA</groupId>
      <artifactId>artifactIdA</artifactId>
      <version>versionA</version>
        <executions>
          <execution>
            <phase>compile</phase> <!-- Une phase du cycle par défaut de mon projet -->
            <goals>
              <goal>un goal du plugin A (à trouver dans la doc du plugin A donc)</goal>
            </goals>
          </execution>
        </executions>
      <configuration>
        ...
      </configuration>
    </plugin>
    <plugin>
      <groupId>groupIdB</groupId>
      <artifactId>artifactIdB</artifactId>
      <version>versionB</version>
        <executions>
          <execution>
            <phase>compile</phase> <!-- Une phase du cycle par défaut de mon projet -->
            <goals>
              <goal>un goal du plugin B (à trouver dans la doc du plugin B donc)</goal>
            </goals>
          </execution>
        </executions>
      <configuration>
        ...
      </configuration>
    </plugin>
    Pour connaitre l'ordre des phases dans tes projets, voir Default Lifecycle ici : http://maven.apache.org/guides/intro...lifecycle.html

    J'ajoute que tout ça n'est pas super intuitif...

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/06/2010, 10h15
  2. Réponses: 0
    Dernier message: 03/10/2008, 12h37
  3. [MAVEN] Creation de site pour un plugin perso
    Par DanielW33 dans le forum Maven
    Réponses: 2
    Dernier message: 26/04/2007, 16h25
  4. [Plugin] Impossible d'exécuter le Plugin
    Par OUaOU dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 31/10/2006, 11h26
  5. Réponses: 2
    Dernier message: 16/05/2006, 17h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo