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 :

Maven 2, multi-modules et Subversion : Philosophie ?


Sujet :

Maven Java

  1. #1
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2005
    Messages : 7 431
    Points : 21 323
    Points
    21 323
    Par défaut Maven 2, multi-modules et Subversion : Philosophie ?
    Bonjour,

    Je travaille actuellement sur un projet multi-modules Maven 2. Je me posais la question de l'intégration dans Subversion comment était la philosophie.

    J'ai plusieurs niveaux de modules dans mon workspace local, mais ensuite tous les modules ont leur propre dossier sur Subversion. Le problème étant que les versions de chacun des modules sont indépendantes les unes des autres.

    J'aimerais bien avoir une architecture SVN proche de mon architecture locale, mais le problème est que si je garde l'architecture que j'ai en local, je ne pourrai plus tagguer des versions individuelles de modules car je n'aurai plus qu'un dossier trunk et un dossier tags global.

    Est-ce que quelqu'un a déja été confrontée à ce problème ?

    Y-a-t-il une bonne manière de résoudre ce problème ?

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : novembre 2002
    Messages : 1 960
    Points : 3 669
    Points
    3 669
    Par défaut
    bon, c'est avis perso : mais pour moi, si tu dois tagger differement des modules, c'est que c'est des dependances.

    un module est l'equivalent d'un deuxieme repertoire de sources dans un projet non maven. il doit suivre le meme cycle de vie que que son pere, et le meme cycle de releases.

    si ce n'est pas le cas, c'est que c'est une dependance : il est temps de l'extraire.

  3. #3
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2005
    Messages : 7 431
    Points : 21 323
    Points
    21 323
    Par défaut
    Je ne suis pas sûr d'avoir compris ce que tu voulais dire

    En fait, voilà mon arborescence :

    JTheque : Projet global
    • JTheque Utilities : Projet contenant des utilitaires
      • JTheque Utils : Des utilitaires généreaux
      • JTheque Launcher : Un simple lanceur
      • JTheque Primary Utils : Des utilitaires spécifiques (dépend de Core et Utils)
      • JTheque Core : Un coeur
    • JTheque Metrics : Une application (dépend de core et utils)
      • ... : des modules pour l'application
    • JTheque Collections : Une autre application (dépend de core, utils et primary utils)
      • ... : des modules pour l'application


    Quand tu parles d'extraire, tu penses à créer n repository ? Dans mon cas, ce n'est pas possible malheureusement.

  4. #4
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : novembre 2002
    Messages : 1 960
    Points : 3 669
    Points
    3 669
    Par défaut
    hum, je sais pas si tu me montres ton arbo svn ou maven

    moi comment je fais :

    projet1(parent pom1)
    ----module1
    ----module2

    projet2(parent pom2) <-- dependance sur projet1 par exemple)
    ----module1
    ----module2

    dans svn :

    repository
    ----projet1
    --------trunk
    ------------projets1 et les sous modules de projet 1
    --------tags
    --------branches


    pareil pour le projet 2

    si je dois brancher ou tagger un sous module et pas un autre, c'est que ce sous module n'est pas a sa place, et devrait etre projet3 par exemple. je le sort du projet 1, et je crée un projet 3 (potentiellement dans le meme repository)

  5. #5
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2005
    Messages : 7 431
    Points : 21 323
    Points
    21 323
    Par défaut
    Ah oki, je vois mieux ce que tu veux dire



    Dans ce cas-là alors je n'aurais que des projets et aucun modules car tous mes modules sont versionnés de manière indépendante...

    Mais ce n'est pas vraiment ce que je souhaite, car ce sont vraiment des sous-projets.

    Par contre, est-ce que dans le repository, on peut envisager des sous-trunks et branches ?

    Du genre ça :

    repository
    ----projet1
    --------trunk
    ------------...
    ------------module1
    ---------------trunk
    ---------------tags

    Mais dans ce cas, le fait de tagguer projet1 copie aussi les ancien tags de module1.

  6. #6
    Membre confirmé

    Inscrit en
    septembre 2006
    Messages
    466
    Détails du profil
    Informations forums :
    Inscription : septembre 2006
    Messages : 466
    Points : 515
    Points
    515
    Par défaut
    Bonjour,

    Une des choses qui est pas toujours bien comprise est que l'architecture des projets maven 2 est très dépendante du cycle de vie (au sens release) de différents artefacts.

    Pour être plus claire, lorsque tu as plusieurs artefacts, comment choisir entre :
    • un projet multi-modules
    • plusieurs projets simples
    • plusieurs projets multi-modules ou simples


    Une des réponses est lié au cycle de vie des artefacts.

    Tu regroupes dans un projet multi-modules l'ensemble de tes artefacts qui vont toujours suivre la même version (donc tu vas toujours les releaser en même temps avec la même version). Si a un moment tu souhaites faire une release que d'un module de ce projet, cela veut dire qu'il a son propre cycle de vie et donc qu'il faut envisager de le sortir pour créer un projet propre.

    Lorsque tes artefacts ont des cycles de vie différents alors tu fais des projets différents.

    Rémy

  7. #7
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : novembre 2002
    Messages : 1 960
    Points : 3 669
    Points
    3 669
    Par défaut
    héhé, je vois que je suis en phase avec rseM2.
    un module qui a un cycle de vie differents du projet qui le contient, c'est que ce n'est pas un module mais un projet a part entiere

  8. #8
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2005
    Messages : 7 431
    Points : 21 323
    Points
    21 323
    Par défaut
    Effectivement, vu comme ça, je devrais peut-être les extraire de mon projet. J'avais décidé de les mettre comme sous-modules, parce qu'il m'arrive tout de même de les builder tous ensemble pour du débugage en général et surtout pour bénéficier des facilités offertes par la génération de site pour un projet multi-modules.

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

Discussions similaires

  1. [Hudson] Pb avec job maven en multi-modules
    Par codalumi dans le forum Intégration Continue
    Réponses: 3
    Dernier message: 08/03/2012, 10h44
  2. Maven : OSGI, bundles et projet multi-modules
    Par Patriarch24 dans le forum Maven
    Réponses: 1
    Dernier message: 17/12/2008, 16h05
  3. Réponses: 3
    Dernier message: 05/06/2008, 13h27
  4. [MAVEN-PLUGIN]Plugin maven-site et les multi-modules
    Par DanielW33 dans le forum Maven
    Réponses: 3
    Dernier message: 22/10/2007, 16h36
  5. [Cobertura] [Maven] Rapport en mode site ou multi-modules
    Par lbroudoux dans le forum Qualimétrie
    Réponses: 3
    Dernier message: 03/08/2007, 16h33

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