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 :

[Creation Plugin] problème de goals


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut [Creation Plugin] problème de goals
    Bonjour,

    J'ai fais un plugin pour générer une page de rapport Maven 2. Je mets ce plugin dans le pom d'un projet sous la section reporting :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <plugin> 
              <groupId>org.codehaus.mojo</groupId> 
              <artifactId>essai-maven-plugin</artifactId> 
              <version>1.0</version> 
    </plugin>
    Mon plugin a deux goals :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    /**
     * @goal report
     * @execute goal="persist"
     */
     
    public class EssaiReportMojo extends AbstractMavenReport
    {...}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    /**
     * @goal persist
    */
    public class DashboardMojoDatabase extends AbstractMojo
    {...}
    Lorsque j'execute mon goal "report" en ligne de commande "mvn essai:report", l'execution du goal "report" se fait bien ainsi que le goal "persist" . Cependant lorsque je génere le site du projet "mvn site" il n'ya que le goal "report" qui est lancé.

    Questions :
    - Comment le processus Maven sait qu'il doit activer le goal report lorsque je fais "mvn site" (alors que je ne dis rien dans le pom du projet).

    - Comment je peux faire lorsque je fais mvn site pour que le goal "report" lance le goal "persist" pareil qu'en ligne de commande.

  2. #2
    Membre expérimenté Avatar de dvicente72
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 213
    Par défaut
    salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    - Comment le processus Maven sait qu'il doit activer le goal report lorsque je fais "mvn site" (alors que je ne dis rien dans le pom du projet).
    ça , ça vient du fait que ton mojo ,qui représente le goal "report", étend AbstractMavenReport et lors du mvn site, il n'execute que les mojo de ce type , ceux qui générent un rapport

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Comment je peux faire lorsque je fais mvn site pour que le goal "report" lance le goal "persist" pareil qu'en ligne de commande.
    là je suis pas trop calé mais regarde la doc plugin et la doc lifecycle surtout cette section "Forking a Parallel Lifecycle"

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut
    Merci pour tes réponses,

    Par contre si j'ai deux MOJO qui dérivent de AbstractMavenReport est ce qu'il executera les deux MOJO ?

    Encore merci,

    @+

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut
    Salut,

    J'ai bien regardé la doc Forking lifeCycle mais je n'arrive pas à la mettre en application correctement, voici mon code :

    mon premier mojo qui derive de AbstractMavenReport :

    mon deuxième Mojo qui dérive de AbstractMavenReport aussi, car je veux faire deux nouvelles pages de rapport :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     @goal report2
     @execute phase="site" lifecycle="essai"
    et mon dernier mojo qui dérive de AbstractMojo car il ne fait pas de rapport mais sauvegarde en base des informations :

    Je voudrais donc lorsque je fais mvn site que mon goal report soit lancé puis mon goal report2 qui appelle avant le goal sauvegarde.

    J'ai donc voulu faire un fork :

    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
     
    <lifecycles>
      <lifecycle>
        <id>essai</id>
        <phases>
          <phase>
            <id>site</id>
            <executions>
              <execution>
                  <goals>
                    <goal>sauvegarder</goal>
                  </goals>
              </execution>
            </executions>
          </phase>
        </phases>
      </lifecycle>
    </lifecycles>
    Le problème est que "mvn site" va tourner en boucle. Mais si je mets dans mon lifecycle.xml une autre phase il va recommencer des actions qui sont liées à cette nouvelle phase. C'est pourquoi je ne pense pas que le fork me convienne ici.

    Je veux tout simplement que mon goal report2 appelle le goal sauvegarde quand je fais mvn site.

    désolé pour le roman, et merci d'avance,

    @+

  5. #5
    Membre expérimenté Avatar de dvicente72
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 213
    Par défaut
    je ne suis pas trop calé sur le fork de lifecycle mais de ce que j'en ai compris, en fait c'est ton deuxième goal qui doit avoir un lifecycle pour lancer le premier à chque fois que tu executes ton deuxième goal.

    Normalement ça te permet en ne lançant que le deuxième goal d'exécuter un certain nombre de goal.

    Mais il y a peut-être d'autres moyens d'arriver à tes fins.

    C'est quoi le but de ton plugin ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut
    Salut,

    Merci de me répondre aussi rapidement, il n'y a pas de but majeur à part m'entrainer à comprendre Maven 2 et la construction de ces plugins associés.

    Je trouve intéressant de pouvoir appeler les mojos suivant l'ordre que l'on veut.

    Ici je voudrais :

    report1
    mojo
    report2

    Je ne sais pas si je vais y'arriver

    mais je continue à chercher, encore merci

Discussions similaires

  1. [Plugin] problème d'utilisation de plugin
    Par seiryujay dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 24/03/2006, 11h53
  2. [RCP][Plugin] problème de dependance et déployement.
    Par NoP dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 05/12/2005, 16h03
  3. [Tomcat][plugin]Problème d'execution de Tomcat 5
    Par Carlito_superheros dans le forum Eclipse Java
    Réponses: 14
    Dernier message: 11/03/2005, 13h56
  4. [Plugin] Problème de lancement
    Par relivio dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 03/08/2004, 14h34
  5. [Plugin] Problème initialisation plugin ResourcesPlugin
    Par Michael I. dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 06/02/2004, 13h27

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