Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1584 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Maven, Eclipse, dépendances et modules..

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Maven, Eclipse, dépendances et modules..

n°1772738
gfive
Posté le 13-08-2008 à 08:42:06  profilanswer
 

bon, j'ai eds emmerdes avec Maven...
 
(on se moque pas, je débute)
 
J'ai une architecture de projets Eclipse (des jars, des wars, des ears...) qui dépendent pas mal les uns des autres.
 
Mettons, par exemple :
 
fr.gfive.projet/commons (jar)
 
fr.gfive.projet/web (jar) qui dépend de commons
 
fr.gfive.projet/business (jar) qui dépend de commons
 
fr.gfive.projet/war (war) qui dépend de web, commons, et business
 
fr.gfive.projet/business-ejb(jar d'EJBs) qui dépend de business, et commons
 
Et enfin, un fr.gfive.projet/ear qui contient les autres.
 
Je bosse avec Eclipse, avec le plugin m2e, qui résous mes dépendances comme il faut, toussa, c'est très très bien...:o
 
 
 
Maintenant, je voudrais utiliser mes POMS pour faire de l'intégration continue avec Continuum...Et là, c'est le drame...
 
Si j'ai bien compris, il faut que je fasse un "super POM", qui connaît les autres, pour qu'il aille builder tout ce dont j'ai besoin...Il n'est pas foutu de gérer ça avec les dépendances. :'(
 
Parce que ça me pose un gros problème, ça : comme certains projets sont utilisés dans des ear différents, ça ne va jamais marcher, mon truc.....
 
Je veux dire par là :  
Mettons que j'aie un ProjetA, et un ProjetB, les deux contenant le module fr.gfive.projet/commons.
 
Dans le pom de ProjetA, je dis que commons est un module, très bien.
Idem dans ProjetB, toujours très bien.
 
Mais dans le pom de commons, il faut que je précise son parent.....Or, quand je builde ProjetA, c'est ProjetA le parent, et pareil pour ProjetB...Donc, je sais pas comment faire. :o
 
J'imagine que je suis pas le premier à essayer de fairece genre de truc, et qu'il doit donc y avoir une solution, mais j'ai rien trouvé de bien pertinent....
 
 
 
Et surtout, quand je voudrais builder tout ça, dans les POMs de chaque projet, je dois avoir une référence au parent...Si le parent de fr.gfive.projet/commons est par exemple un coup Projet1, et l'autre coup Projet2???  
 


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
mood
Publicité
Posté le 13-08-2008 à 08:42:06  profilanswer
 

n°1772828
the real m​oins moins
Posté le 13-08-2008 à 11:48:03  profilanswer
 

Citation :


Mettons que j'aie un ProjetA, et un ProjetB, les deux contenant le module fr.gfive.projet/commons.  
 

non, ils ne contiennent pas "commons", ils ont une dépendance dessus.

Citation :


Dans le pom de ProjetA, je dis que commons est un module, très bien.  


non, donc.

Citation :


Idem dans ProjetB, toujours très bien.  


non plus

Citation :


Mais dans le pom de commons, il faut que je précise son parent.....


peut être mais ...

Citation :


Or, quand je builde ProjetA, c'est ProjetA le parent, et pareil pour ProjetB...


ben nan [:el g]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1772836
gfive
Posté le 13-08-2008 à 11:56:03  profilanswer
 

the real moins moins a écrit :

Citation :


Mettons que j'aie un ProjetA, et un ProjetB, les deux contenant le module fr.gfive.projet/commons.  
 

non, ils ne contiennent pas "commons", ils ont une dépendance dessus.

Citation :


Dans le pom de ProjetA, je dis que commons est un module, très bien.  


non, donc.

Citation :


Idem dans ProjetB, toujours très bien.  


non plus

Citation :


Mais dans le pom de commons, il faut que je précise son parent.....


peut être mais ...

Citation :


Or, quand je builde ProjetA, c'est ProjetA le parent, et pareil pour ProjetB...


ben nan [:el g]


 
Ok, là, je suis d'accord avec toi...Mais dans mon build avec Continuum, si il builde ProjetA, et que commons n'est qu'une dépendance de ProjetA, et pas un module, il ne builde pas commons... :/
 


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°1772844
masklinn
í dag viðrar vel til loftárása
Posté le 13-08-2008 à 12:26:14  profilanswer
 

gfive a écrit :

Ok, là, je suis d'accord avec toi...Mais dans mon build avec Continuum, si il builde ProjetA, et que commons n'est qu'une dépendance de ProjetA, et pas un module, il ne builde pas commons... :/


Tu setup commons en projet séparé dans continuum [:petrus dei]

 

En bonus ça vous permet de bosser sur commons sans se taper ProjetA et ProjetB

Message cité 1 fois
Message édité par masklinn le 13-08-2008 à 12:26:35

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1772846
gfive
Posté le 13-08-2008 à 12:38:04  profilanswer
 

masklinn a écrit :


Tu setup commons en projet séparé dans continuum [:petrus dei]
 
En bonus ça vous permet de bosser sur commons sans se taper ProjetA et ProjetB


 
ben oui, c'est ce que j'avais prévu : tous mes projets séparés dans Continuum...
 
Mais ça oblige à gérer les builds Continuum à la main : mettons qu'on fait une release de ProjetA, et que comons a pas été releasé dans la version nécessaire, par exemple, Continuum ne va pas builder commons, si? :??:
 
J'entrevois qu'il y a une couille dans mon raisonnement entre Maven et Continuum, en fait (stadire que j'ai tendance à penser que si l'artefact Commons 1.0 n'existe pas,et n'a pas été releasé on a aucune raison de l'utiliser dans un pom de ProjetA....Mais bon)
 
lutain, il me faut une formation maven/continuum, en fait :'(


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°1772856
masklinn
í dag viðrar vel til loftárása
Posté le 13-08-2008 à 12:53:03  profilanswer
 

gfive a écrit :

Mais ça oblige à gérer les builds Continuum à la main : mettons qu'on fait une release de ProjetA, et que comons a pas été releasé dans la version nécessaire, par exemple, Continuum ne va pas builder commons, si? :??:


Ca a pas de sens de dire que "commons a pas été releasé dans la version nécessaire", si la version n'existe pas elle peut pas être indiquée comme dépendance dans ProjetA [:petrus75]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1772859
the real m​oins moins
Posté le 13-08-2008 à 12:57:07  profilanswer
 

masklinn a écrit :


Ca a pas de sens de dire que "commons a pas été releasé dans la version nécessaire", si la version n'existe pas elle peut pas être indiquée comme dépendance dans ProjetA [:petrus75]


a mon avis il est dans un esprit "on fout pas de <version>" et on prend ce qui vient. ça marche si tu buildes tout d'un coup.
et tu pourrais de fait faire


./mega-tout/pom.xml
            commons/pom.xml
            projetA/pom.xml
            projetA/blah1/pom.xml
            projetA/blah2/pom.xml
            projetB/bleh1/pom.xml
            et ainsi de suite ...

avec un seul numero de version pour tout [:el g]
jusqu'au jour ou tu te rend compte que, quand même, des cycles de vie séparés pour des trucs qui évoluent pas en meme temps que le reste, c'est pas si mal, meme si, houlala, il faut éditer un ou deux pom quand y'a effectivement une évolution [:el g]

Message cité 1 fois
Message édité par the real moins moins le 13-08-2008 à 12:57:56

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1772861
gfive
Posté le 13-08-2008 à 13:04:47  profilanswer
 

masklinn a écrit :


Ca a pas de sens de dire que "commons a pas été releasé dans la version nécessaire", si la version n'existe pas elle peut pas être indiquée comme dépendance dans ProjetA [:petrus75]


 
ouais, c'est l'idée qui commencait à poindre...
 

the real moins moins a écrit :


a mon avis il est dans un esprit "on fout pas de <version>" et on prend ce qui vient. ça marche si tu buildes tout d'un coup.
et tu pourrais de fait faire  


./mega-tout/pom.xml
            commons/pom.xml
            projetA/pom.xml
            projetA/blah1/pom.xml
            projetA/blah2/pom.xml
            projetB/bleh1/pom.xml
            et ainsi de suite ...

avec un seul numero de version pour tout [:el g]
jusqu'au jour ou tu te rend compte que, quand même, des cycles de vie séparés pour des trucs qui évoluent pas en meme temps que le reste, c'est pas si mal, meme si, houlala, il faut éditer un ou deux pom quand y'a effectivement une évolution [:el g]


 
Voilà...On est dans ce genre de truc là, en ce moment....Sauf que pas vraiment, en fait : il y a des liens dans le svn pour avoir plusieurs ./mega-tout qui mutualisent des choses. Mais c'est la merde (surtout si tu bosses sur 2 "mega-tout" en même temps : t'as 2 fois le même code dans ton workspace [:prozac]
 
Mais faire admettre aux gens que builder, ou prendre la 1.2.0 de commons, c'est la meme chose, ça va pas être évident :/Comme on a pas réellement de gestion de tags/versions, on va en chier pour changer de philo (actuellement, quand on change de version, on fait une nouvelle branche dans le svn, et on pousse dessus... Je vous dis pas le bordel)
 


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°1772863
gfive
Posté le 13-08-2008 à 13:25:05  profilanswer
 

Bon, sinon, y'a Hudson qui fait exactement ce que je veux...
 
Pur info :  
 
http://hudson.gotdns.com/wiki/disp [...] n2+project

Citation :


Automatic build chaining from module dependencies
 
Hudson reads dependencies of your project from your POM, and if they are also built on Hudson, triggers are set up in such a way that a new build in one of those dependencies will automatically start a new build of your project. Hudson understands all kinds of dependencies in POM. Namely,
 
    * parent POM
    * <dependencies> section of your project
    * <extensions> section of your project
    * <reporting> section of your project
 
This process takes versions into account, so you can have multiple versions/branches of your project on the same Hudson and it will correctly determine dependencies.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°1772868
the real m​oins moins
Posté le 13-08-2008 à 13:55:24  profilanswer
 

ah, interessant, ça, ça voudrait dire que tu peux demander a hudson de builder un module X qui a une dependence sur Y, et hudson pourrait chopper le dernier snapshot de Y ( ou le builder) meme si sur ton svn, X depend tjs d'une version plus ancienne de Y.... ? Nice.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 13-08-2008 à 13:55:24  profilanswer
 

n°1772898
masklinn
í dag viðrar vel til loftárása
Posté le 13-08-2008 à 15:08:14  profilanswer
 

gfive a écrit :

Bon, sinon, y'a Hudson qui fait exactement ce que je veux...
 
Pur info :  
 
http://hudson.gotdns.com/wiki/disp [...] n2+project

Citation :


Automatic build chaining from module dependencies
 
Hudson reads dependencies of your project from your POM, and if they are also built on Hudson, triggers are set up in such a way that a new build in one of those dependencies will automatically start a new build of your project. Hudson understands all kinds of dependencies in POM. Namely,
 
    * parent POM
    * <dependencies> section of your project
    * <extensions> section of your project
    * <reporting> section of your project
 
This process takes versions into account, so you can have multiple versions/branches of your project on the same Hudson and it will correctly determine dependencies.



Me semble que c'est utilisé chez nous, sur <gros projet qui utilise maven> hudson déploie automatiquement les snapshots dans le repo maven quand il fait ses builds et tout et tout


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1772905
gfive
Posté le 13-08-2008 à 15:19:30  profilanswer
 

ben en tout cas, c'est drôlement bien, comme truc...L'interface d'admin est quand même vachement plus complète et agrable que celle de Continuum.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Maven, Eclipse, dépendances et modules..

 

Sujets relatifs
Création de site internet avec EclipseEclipse JSP changement du nom du bouton pdt le traitement
Eclipse + subversive : impossible de se connecter au serveur svn[Eclipse] Récupérer projet d'un svn
Eclipse JBOSS 10060 Connection timed outconfigurer le timed out Eclipse JBOSS v4.2
Eclipse Web Application Acces réseau[Eclipse] Marquer certains fichiers
[Eclipse] Commentaires JavaDoc automatiquesDépendances de classes...
Plus de sujets relatifs à : Maven, Eclipse, dépendances et modules..


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR