Maven, Eclipse, dépendances et modules.. - Java - Programmation
Marsh Posté le 13-08-2008 à 11:48:03
Citation : |
non, ils ne contiennent pas "commons", ils ont une dépendance dessus.
Citation : |
non, donc.
Citation : |
non plus
Citation : |
peut être mais ...
Citation : |
ben nan
Marsh Posté le 13-08-2008 à 11:56:03
the real moins moins a écrit :
non, ils ne contiennent pas "commons", ils ont une dépendance dessus.
|
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...
Marsh Posté le 13-08-2008 à 12:26:14
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
En bonus ça vous permet de bosser sur commons sans se taper ProjetA et ProjetB
Marsh Posté le 13-08-2008 à 12:38:04
masklinn a écrit : |
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
Marsh Posté le 13-08-2008 à 12:53:03
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
Marsh Posté le 13-08-2008 à 12:57:07
masklinn 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
|
avec un seul numero de version pour tout
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
Marsh Posté le 13-08-2008 à 13:04:47
masklinn a écrit : |
ouais, c'est l'idée qui commencait à poindre...
the real moins moins a écrit :
avec un seul numero de version pour tout |
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
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)
Marsh Posté le 13-08-2008 à 13:25:05
Bon, sinon, y'a Hudson qui fait exactement ce que je veux...
Pur info :
http://hudson.gotdns.com/wiki/disp [...] n2+project
Citation : |
Marsh Posté le 13-08-2008 à 13:55:24
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.
Marsh Posté le 13-08-2008 à 15:08:14
gfive a écrit : Bon, sinon, y'a Hudson qui fait exactement ce que je veux...
|
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
Marsh Posté le 13-08-2008 à 15:19:30
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.
Marsh Posté le 13-08-2008 à 08:42:06
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...
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.
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)