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 :

Plugin - Obtenir les dépendances transitives d'un projet


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut Plugin - Obtenir les dépendances transitives d'un projet
    Hello,

    J'ai développé un plugin, et celui-ci a besoin de travailler sur les dépendances du projet sur lequel il est exécuté.

    Pour cela, j'ai donc ajouté ça dans le code de mon plugin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        /**
         * List of dependencies.
         * 
         * @parameter expression="${project.dependencies}"
         */
        private ArrayList<Dependency> dependencies;
    Ma liste dependencies récupère bien toutes les dépendances de ce projet.
    Toutefois, j'aimerais que mon plugin puisse aussi connaître les dépendances transitives de toutes les dépendances de mon projet.

    Comment puis je connaître ces informations ?

    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

  2. #2
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Comment puis je connaître ces informations ?
    Je crois que c'est le role de l'ArtifactCollector, mais mieux vaut confirmer avec emmanuel qunad il passera dans le coin....

  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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Merci pour cette piste, qui semble être pas mauvaise du tout

    Toutefois, si quelqu'un a un exemple d'utilisation, parce que ça ne me parait pas vraiment simple de faire ce que je veux en utilisant ces classes (d'autant que le Javadoc est très succinct sur les méthodes des classes de maven-artifact)...
    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
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Merci pour cette piste, qui semble être pas mauvaise du tout

    Toutefois, si quelqu'un a un exemple d'utilisation, parce que ça ne me parait pas vraiment simple de faire ce que je veux en utilisant ces classes (d'autant que le Javadoc est très succinct sur les méthodes des classes de maven-artifact)...
    Ca (la résolution transitive) a lieu dans l'assembly, par exemple :
    http://svn.apache.org/viewvc/maven/p...01&view=markup

    Maintenant, c'est pas top documenté et en plus, tout semble être pour la version 2.1 de Maven...

  5. #5
    Membre chevronné

    Inscrit en
    Septembre 2006
    Messages
    466
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 466
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Merci pour cette piste, qui semble être pas mauvaise du tout

    Toutefois, si quelqu'un a un exemple d'utilisation, parce que ça ne me parait pas vraiment simple de faire ce que je veux en utilisant ces classes (d'autant que le Javadoc est très succinct sur les méthodes des classes de maven-artifact)...
    Je n'ai pas essayé de faire cela mais tu peux sans doute aller voir du côté du plugin maven-dependency-plugin et de son mojo analyze.

    Rémy

  6. #6
    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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Bon, j'ai du créer un nouveau plugin pour mon projet, et vu que j'avais à nouveau besoin de répondre à mon problème, je m'y suis plongé à fond (plouf).

    En fait, c'est plutôt "simple".
    J'ai suivi l'idée de rseM2, à savoir en regardant le code de dependency:resolve (et non analyze, c'est un peu plus éloigné de ce que je veux).

    Mon code est le suivant :

    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
     
    /**
     * 
     * @goal packager
     * @requiresDependencyResolution test
     * @phase generate-resources
     */
    public class PuPackagerMojo extends AbstractMojo {
     
        /**
         * @parameter expression="${project}"
         * @required
         * @readonly
         */
        private MavenProject project;
     
        public void execute() throws MojoExecutionException, MojoFailureException {
            Set allArtifacts = project.getArtifacts();
            ...
        }
     
    }
    project.getArtifacts() retourne toutes les dépendances, y compris transitives. A noter qu'il faut absolument ajouter le @requiresDependencyResolution test au début de la classe.
    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

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

Discussions similaires

  1. [TOPCASED] Obtenir les dépendances en reverse engineering
    Par trzebiaf dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 28/05/2010, 18h01
  2. Lister les fichiers et les dépendances liés à un projet
    Par sovo dans le forum Vos contributions VB6
    Réponses: 19
    Dernier message: 24/10/2007, 22h57
  3. Réponses: 6
    Dernier message: 10/08/2007, 15h17
  4. Utilitaire pour voir les dépendances d'un projet
    Par Najdar dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 02/11/2006, 21h56
  5. Obtenir les taches en cours
    Par mlerat22 dans le forum MFC
    Réponses: 3
    Dernier message: 17/06/2002, 12h36

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