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 :

outils pour un rapport croisé de mes dépendances


Sujet :

Maven Java

  1. #1
    Membre à l'essai

    Profil pro
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 11
    Points
    11
    Par défaut outils pour un rapport croisé de mes dépendances
    bonjour à tous

    voilà le sujet : en société notre nombre de module augmente toutes les semaines.

    Chaque module s'appuie évidement sur des api et des jar divers et varié (spring, hibernate, ...) mais également sur des modules fait maison. Le tout au travers de Maven et de ses pom.xml

    On utilise en plus : hudson pour de l'intégration continue et Archiva pour la gestion d'un repository à la manière d'un cache pour les projets externes à la société.

    voilà pour le context.


    Le problème (qui n'est certes pas vital mais bon...) est que je souhaiterais obtenir au minimum une liste des dépendances de nos propres projets entre eux. Implicitement cela signifie que pour des raisons de visuel je ne veux pas voir les modules autres que les notre dans le diagramme.

    J'ai testé : le graph de dépendance du plugin maven qui est bien trop chargé et pollué par les projets externes pour répondre à ma demande

    J'ai testé : les menus "dependency" et "Dependency Management" du site généré dans Hudson mais on obtient que les enfants/parents de premier niveau seulement, de plus c'est loin d'être exploitable visuellement.

    J'ai cherché dans archiva, mais comme il nous sert simplement de repository/cache aux projets externe c'est inutile pour mon cas.

    Donc je viens vers vous pour savoir si vous connaissez un module, un addon ou carrément un logiciel qui (par exemple) check les pom d'un repository, et ressort les liaisons entre chaque projet trouvé.

    je vous remercie d'avance pour votre lecture et vous souhaites bonne journée

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Si tous les modules de ta société sont dans un groupId avec un préfix commun, le plus simple serait de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mvn dependency:tree | grep my.company

    dans une ligne de commande

  3. #3
    Membre à l'essai

    Profil pro
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    merci dieu, (tu permettes que je t'appelle dieu ? )

    bon c'est une bonne piste bien que ce ne soit pas une solution totale. Explication :

    avec ton idée + de la doc, j'ai pu sous une ligne de commande sous Windows faire ceci

    http://maven.apache.org/plugins/mave...ency-tree.html
    http://maven.apache.org/plugins/mave...ency-tree.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mvn dependency:tree -Dincludes=com.societe* -Dverbose
    dans le repertoire d'un projet contenant évidement un pom.xml

    résultat des courses :

    D:\java\projets\interface\projet>mvn dependency:tree -Dincludes=com.societe* -Dverbose
    [INFO] Scanning for projects...
    [INFO] Searching repository for plugin with prefix: 'dependency'.
    [INFO] org.apache.maven.plugins: checking for updates from repo
    [INFO] org.codehaus.mojo: checking for updates from repo
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Interface PROJET
    [INFO] task-segment: [dependency:tree]
    [INFO] ------------------------------------------------------------------------
    [INFO] [dependency:tree]
    [INFO] com.societe.outil.toto:projet:war:1.0.2-SNAPSHOT
    [INFO] +- com.societe.outil.toto:toto-api:jar:1.0.9:compile
    [INFO] |.\- (com.societe.outil.toto:toto-interface:jar:1.0.4:compile - omitted for conflict with 1.0.5)
    [INFO] \- com.societe.outil.toto:toto-interface:jar:1.0.5:compile
    [INFO] ..\- com.societe.trans.toto:super-api:jar:1.0.1:compile
    [INFO] ....\- com.societe.trans.toto:toto-plug:jar:1.0.2:compile
    [INFO] ......\- com.societe.trans.toto:toto-commun:jar:1.0.1:compile
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESSFUL
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 8 seconds
    [INFO] Finished at: Tue Apr 27 10:40:11 CEST 2010
    [INFO] Final Memory: 21M/38M
    [INFO] ------------------------------------------------------------------------
    ce qui est bon :
    -j'ai la liste des dépendances souhaitées pour un projet donné, j'ai également les versions et les pb de conflit (bonnuuuuuus)

    ce qui est pas encore bon :
    - doit être fait projet par projet, a moins que sous UNIX la commande que tu m'ait donné soit récursive ce dont je doute un peu...
    - l'inverse n'est pas encore fait : connaitre qui utilise le module com.societe.trans.toto:toto-commun:jar:1.0.1:compile


    enfin pour le premier point je sais déjà comment contourner le problème. pour le second je pense devoir développer un parseur qui transformerais tout ca en une matrice, l'inverserais et hop ca me ferra des chocapic.

    Merci encore pour l'aide, si tu sais me résoudre le pb de liaison inverse ca serait top moumoute, sinon t'inquiète c'est déjà pas mal du tout

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/10/2011, 15h02
  2. Outil pour rapport
    Par Achilleos dans le forum Outils
    Réponses: 1
    Dernier message: 20/03/2007, 19h02
  3. [CR][tableau croisé] aide pour un rapport
    Par abdess6600 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 25/08/2006, 15h11
  4. Réponses: 3
    Dernier message: 06/09/2005, 17h10
  5. Un outil pour evaluer les dépendances
    Par karbone dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 30/03/2004, 14h36

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