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 :

[M2-Site] Regrouper les stats de tous les sous modules


Sujet :

Maven Java

  1. #1
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut [M2-Site] Regrouper les stats de tous les sous modules
    Bonjour à tous,

    Supposons cette architecture :

    mon-projet
    +-- Sous-projet 1
    +-- Sous-projet 2
    +-- Sous-projet 3

    Chaque sous projet à son propre pom.xml, et bien entendu, "mon-projet" aggrège tous les sous-projets (ils sont considérés comme module).

    Si je lance la commande mvn site, je vais avoir un site pour mon-projet, et des sous-sites pour chaque sous-projet.

    Admettons que le plugin surefire-report soit utilisé (il affiche le résultat des exécutions des tests unitaires). Le problème, c'est que je suis obligé d'aller sur chaque site de chaque sous-projet pour avoir une vision de ce qui a réussi ou raté dans l'exécution des tests.

    Moi, j'aimerais que l'ensemble des stats de Surefire (ou n'importe quel plugin) puisse être regroupé au niveau du projet parent. En gros, que les résultats de Surefire des 3 sous-projets soient regroupés sur une même page.

    Comment est-ce possible ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 213
    Points : 226
    Points
    226
    Par défaut
    ben là tu as le choix :

    soit tu veux utiliser une solution purement Maven alors tu as:

    -dashboard-maven-plugin : développé par mes soins, je me fais juste un peu de "pub" mais tu dois te faire un avis par toi-même

    - Qalab : dans le même esprit

    dans un optique "Entreprise" avec plusieurs projets (multi-modules ou pas ), il y a une solution externe (le site web restituant l'aggrégation de données se fait dans un site web externe ) :

    - Sonar : le plus prometteur surtout avec la version 0.3 qui devrait sortir dans un futur assez proche.

    ceci dit, rien n'empêche d'utiliser une solution "interne Maven" pour avoir les infos aggrégées au niveau du site projet et une solution de type Sonar pour aggréger tous les projets d'une entreprise

  3. #3
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Merci pour ta réponse, dvicente72.
    Je testerais ça dans la journée.
    (je mettrais en résolu si ça correspond bien à mes problèmes).
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    dvicente72, j'ai utilisé ton plugin Dashboard, il me parait vraiment très bien !

    Merci
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    dvicente72,

    J'ai 2 choses à demander à propos de ton plugin :

    1. Il ne marche pas très bien dans mon cas. Ou peut être est-ce juste un problème de configuration.
    Je suis donc dans le système de projets multi-modules. J'ai ajouté dans le pom parent les lignes suivantes (dans projet/reporting/plugins):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>dashboard-maven-plugin</artifactId>
        <version>1.0-SNAPSHOT</version>
    </plugin>
    Je lance ensuite la commande mvn clean site dashboard-report:dashboard site:deploy.
    Là, dans le répertoire où se trouve le site final, j'ai tout ce qu'il me faut, mais la page de dashboard-report du projet parent est vide (aussi bien la page "Detailed Dashboard" que la page "Summary Dashboard").
    Pourtant, les pages du dashboard-report pour chaque sous-projet (chaque module) sont bonnes et affichent les bonnes informations.

    D'après le site de ton plugin, il est dit qu'il faut faire le site en deux passes : mvn site puis mvn dashboard-report:dashboard. Je suis en train de tester en lançant ces 2 commandes, mais la création du site est très longue (je posterais un autre commentaire pour dire si ça marche comme ça).

    Edit: Oui, en effet, en exécutant les 2 commandes séparément, ça marche impeccablement.

    N'y a t'il pas moyen de faire le tout en une seule ligne de commande ?

    2. Je n'arrive pas à utiliser le plugin en configuration locale.
    Je m'explique : Dans ma mission, nous utilisons un proxy qui est en fait un mirroir de IBiblio. De ce fait, les utilisateurs n'ont pas d'accès à Internet (pour Maven). Toute librairie utilisée dans nos projets doivent se trouver dans notre proxy (qui est un répertoire partagé).
    Pour tester le plugin, je me suis mis en configuration "externe", c'est-à-dire avec accès à Internet. Et j'ai ajouté ces lignes dans mon settings.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <pluginRepositories>
        <pluginRepository>
            <id>Codehaus Snapshots</id>
           	<url>http://snapshots.repository.codehaus.org/</url>
        </pluginRepository>
    </pluginRepositories>
    Ca marche.

    Maintenant, j'ai installé ce plugin ainsi que toutes ses dépendances dans le proxy.
    Je me remets en configuration "locale" de mon settings.xml.
    Quand je lance la création du site, il me sort cette erreur :

    The plugin 'org.apache.maven.plugins:maven-dashboard-report-plugin' does not exist or no valid version could be found

    Visiblement, il n'arrive pas à comprendre que ce plugin n'est pas un plugin de Maven, mais un plugin de Codehaus...

    Que me faut-il changer pour que ça marche en local ?

    Pour info, voici mon settings.xml en version locale :

    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
     
    <settings>
        <!--  Path to local repository. The default location is ~/.m2/repository -->
        <localRepository>C:\m2\repository\</localRepository>
     
        <!--  Definition of mirror of Central Repository -->
        <mirrors>
            <mirror>
                <id>global-repository</id>
                <name>Global repo</name>
                <url>file://F:\...\repository</url>
                <mirrorOf>central</mirrorOf>
            </mirror>
        </mirrors>
     
        <profiles>
            <profile>
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
                <repositories>
                    <repository>
                        <id>global-repository</id>
                        <releases>
                            <enabled>true</enabled>
                        </releases>
                        <snapshots>
                            <enabled>true</enabled>
                        </snapshots>
                        <url>file://F:\...\repository</url>
                    </repository>
                </repositories>
            </profile>
        </profiles>
     
        <!-- Definition of Plugins groups created by our team. -->
        <pluginGroups>
            <pluginGroup>my.company.plugins</pluginGroup>
        </pluginGroups>
    </settings>

    Merci.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  6. #6
    Membre actif Avatar de dvicente72
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 213
    Points : 226
    Points
    226
    Par défaut
    N'y a t'il pas moyen de faire le tout en une seule ligne de commande ?
    malheureusement non, dans le cas d'un projet multi-modules, il faut absolument que le site soit généré complètement et ce, pour chaque module.

    Cela permet à chaque plugin "Reports" de genérér son xml ou autre fichier.

    Seulement ensuite, le mvn dashboard-report:dashboard permet de relire tous ces fichiers de manière récursif sur tous les modules et d'aggréger ces données et de generer le rapport.

    je ne pourrais malheureusement pas changer cette manière de faire.

    The plugin 'org.apache.maven.plugins:maven-dashboard-report-plugin' does not exist or no valid version could be found
    ce probleme vient sûrement du fait que j'ai changé le prefix du plugin pour "dashboard-report" quand j'ai créé le plugin au lieu de laisser le mécanisme standard.

    le problème est que lors de l'exécution, Maven a tendance à créer une entrèe dans ton repo local "maven-dashboard-report-plugin" avec divers fichiers maven-metadata-xxx.xml et c'est ça qui pose problème.

    par contre, je ne sais comment le résoudre , d'autant que je n'ai plus ce probleme lorsque je lance la commande mvn dashboard-report;dashboard.


    pour contrer ça , essaye d'effacer le repertoire maven-dashboard-report-plugin dans ${repo}\org\apache\maven\plugins

    lance la commande mvn org.codehaus.mojo:dashboard-maven-plugin:1.0-SNAPSHOT:dashboard

    et ensuite voit si mvn dashboard-report:dashboard fonctionne toujours

    il faut avouer que c'est un aspect de Maven que je maitrise mal

  7. #7
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    dvicente72,

    Merci pour tes réponses.

    1. Pour le problème de la ligne unique, je comprends bien. Tant pis, je ferais sans.

    2. Concernant le problème du lancement du plugin, la commande mvn org.codehaus.mojo:dashboard-maven-plugin:1.0-SNAPSHOT:dashboard fonctionne bien, en effet. Mais ça ne fait pas pour autant marcher la commande mvn dashboard-report:dashboard ensuite.
    A la limite, en attendant de trouver mieux, je peux toujours utiliser cette commande.

    Sinon, la version 1.0 est prévue pour quand ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  8. #8
    Membre actif Avatar de dvicente72
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 213
    Points : 226
    Points
    226
    Par défaut
    ben pour la version officielle 1.0, il faut déjà que je release Jdepend en 2.0, ce qui enlevera une dependance snapshot sur le dashboard.

    Ensuite, on va laisser un peu de temps pour que la partie database/historique soit utilisée à fond par tous les "gentils" utilisateurs et si il n'y a pas de bugs remontés, je lancerai un vote sur dev@mojo.codehaus.org pour faire une release et si tout le monde pense que le plugin est stable, je ferai la release.

    Mon souhait serait pour fin Septembre mais ça dependra des bugs remontés

  9. #9
    Membre actif Avatar de dvicente72
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 213
    Points : 226
    Points
    226
    Par défaut
    Salut à tous,

    je pense que le problème est : quand on ajoute ceci dans le pom.xml d'un plugin pour modifier le goal prefix:

    <build>
    ….
    <plugins>
    <plugin>
    <artifactId>maven-plugin-plugin</artifactId>
    <configuration>
    <goalPrefix>dashboard-report</goalPrefix>
    </configuration>
    </plugin>

    </plugins>

    </build>
    ….

    Maven ne résout pas correctement le préfixe plugin.

    c'est pour ça que : "mvn dashboard-report:dashboard" ne fonctionne pas correctement.

    je dois enlever ce goalPrefix mais avant je dois faire une demande de vote sur la mailing CodeHaus

    Avant, j'aimerai bien avoir l'avis d'Emmanuel Venisse là-dessus

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    Salut,

    J'ai à peu près les même problèmes que romaintaz sauf que la commande mvn org.codehaus.mojo:dashboard-maven-plugin:1.0-SNAPSHOT:dashboard ne fonctionne pas et me renvoie l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    mvn org.codehaus.mojo:dashboard-maven-plugin:1.0-SNAPSHOT:dashboard
    java.io.FileNotFoundException: /produits/maven-2.0.7/lib
            at org.codehaus.classworlds.Configurator.loadGlob(Configurator.java:487)
            at org.codehaus.classworlds.Configurator.loadGlob(Configurator.java:459)
            at org.codehaus.classworlds.Configurator.configure(Configurator.java:326)
            at org.codehaus.classworlds.Launcher.configure(Launcher.java:156)
            at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:426)
            at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
    Que puis-je faire pourque ce plugin fonctionne : il est très interessant et utile/indispensable pour l'utilisation qu'on en a.

  11. #11
    Membre actif Avatar de dvicente72
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

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

    peux-tu effectuer un mvn -e -X org.codehaus.mojo:dashboard-maven-plugin:1.0-SNAPSHOT:dashboard>maven.log

    et renvoyer la log.

    A vue de nez , je ne vois pas en quoi c'est bug du dashboard

    si tu peux mettre ton pom.xml aussi que je puisse comprendre.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    Salut,

    Voici mon pom.xml et le log.

    Mon dossier lib me sert a stocker tout un tas de librairies non-standards ou que j'ai installées à la main. Lorsque je le renomme, j'ai l'erreur écrite dans mon précédent post (et pas une ligne de plus).

    C'est grave docteur ?
    Fichiers attachés Fichiers attachés

  13. #13
    Membre actif Avatar de dvicente72
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 213
    Points : 226
    Points
    226
    Par défaut
    Salut dferot,

    dans le log, tu vois qu'il y a un java.lang.NoClassDefFoundError: org/apache/maven/reporting/AbstractMavenReport

    ça veut dire qu'il manque le plugin maven-reporting-impl dans ton repository ou alors que cette classe n'existe plus dans un maven recent ( ça me semble peu probable à cause de la compatibilité ascendante de maven)

    Il faut regarder si dans ton repository tu as le jar correspondant sous

    ${local_repo}\org\apache\maven\reporting\maven-reporting-impl\${x.x.x}\maven-reporting-impl-x.x.x.jar

    ou x.x.x est la version du plugin maven-reporting-impl

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    Salut,

    Dans mon repository, j'ai ces jar, en version 2.0, 2.0.2 et 2.0.4.

    J'ai déplacé le dossier maven-reporting-impl ailleurs et ai relancé la commande, pour que maven aille retélécharger mais ça n'a rien changé : il n'a rien téléchargé et m'a renvoyé la même erreur.

    le log n'a pas changé d'un poil. Je te mets ici le contenu du dossier maven-reporting-impl au cas où ça t'es utile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    bash-2.03$ cd /produits/maven/repository/org/apache/maven/reporting/maven-reporting-impl/
    bash-2.03$ ls
    2.0    2.0.2  2.0.4
    bash-2.03$ ls 2.0.4
    maven-reporting-impl-2.0.4.jar       maven-reporting-impl-2.0.4.pom
    maven-reporting-impl-2.0.4.jar.sha1  maven-reporting-impl-2.0.4.pom.sha1
    bash-2.03$ ls 2.0.2
    maven-reporting-impl-2.0.2.jar       maven-reporting-impl-2.0.2.pom
    maven-reporting-impl-2.0.2.jar.sha1  maven-reporting-impl-2.0.2.pom.sha1
    bash-2.03$ ls 2.0
    maven-reporting-impl-2.0.jar       maven-reporting-impl-2.0.pom
    maven-reporting-impl-2.0.jar.sha1  maven-reporting-impl-2.0.pom.sha1

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Batch] Connexion SFTP + download de tous les fichiers ET tous les répertoires
    Par gazza dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 06/03/2014, 14h45
  2. lister tous les membres de tous les groupes AD
    Par fbb53 dans le forum VBScript
    Réponses: 1
    Dernier message: 03/10/2011, 12h24
  3. Réponses: 9
    Dernier message: 16/10/2006, 17h35
  4. Réponses: 1
    Dernier message: 19/08/2006, 11h27

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