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 :

[Design] Artifact dépendant d'une librairie


Sujet :

Maven Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 14
    Par défaut [Design] Artifact dépendant d'une librairie
    Bonjour à tous !

    J'aimerais l'avis du plus grand nombre concernant un problème auquel je dois faire face et qui est un problème d'organisation d'artifacts.

    Je possède plusieurs projet qui se basent sur un framework (qu'on nommera Fwk) qui est décliné sous plusieurs version (Fwk-1.0, Fwk-1.1, Fwk-2.0 etc...)
    Chaque projet peut utiliser une version du framework qui n'est pas forcément la dernière (on aura Projet1 qui va utiliser Fwk-1.0, Projet2 qui va utiliser Fwk-1.1 ...)

    Pour tout ceci, je compte mettre en place un framework de tests unitaires qui va avoir un gros tronc commun, et éventuellement quelques spécificités en fonction de la version du Fwk qu'on souhaite tester.
    Typiquement, je vais vouloir avoir un artifact que je vais nommer :
    - FwkTest-1.0-Fwk1.0 (dont on va dépendre lorsqu'on utilise la v1.0 de Fwk)
    - FwkTest-1.0-Fwk1.1 (dont on va dépendre lorsqu'on utilise la v1.1 de Fwk)
    - FwkTest-1.0-Fwk2.0 (dont on va dépendre lorsqu'on utilise la v2.0 de Fwk)
    - etc...

    Que me conseillez-vous comme organisation pour mettre en place cela ?

    J'ai déjà une idée (qui est peut-être mauvaise) :
    Faire un artifact "parent" qui va contenir le tronc commun de mes classes de tests, avec ensuite un module/artifact par déclinaison de framework, ayant comme parent celui décrit précédemment.

    Problème : je ne vais pas vouloir "compiler" les sources du tronc commun (car je ne pourrai pas, j'ai besoin de la dépendance vers Fwk pour pouvoir le faire ... chose que j'aurai seulement au niveau des artifacts "fils").
    En revanche, je veux pouvoir compiler/packager les sources du tronc commun dans chacun des mes artifacts enfants.

    Voyez-vous une solution "propre" (si possible sans avoir a dupliquer de code ...) pour répondre à ce besoin ?

    Marchi d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 14
    Par défaut
    J'ai résolu mon problème en :
    - Transformant FwkTest en packaging pom (afin qu'il devienne le parent)
    - Je laisse tout ce dont j'ai besoin dans le pom.xml de FwkTest, en revanche, l'ensemble des chemins est préfixé en ../
    - Je crée autant de modules que j'ai de versions possibles de Fwk
    - Dans chaque module, je n'ai que la déclaration de l'artifact id (dans lequel je met la version du framework utilisée) et la dépendance vers la version du Fwk utilisée

    En faisant un "mvn install" sur mon parent, je suis ainsi capable de releaser l'ensemble de mes modules en un coup

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

Discussions similaires

  1. Réponses: 19
    Dernier message: 09/02/2010, 10h26
  2. [design patterns] existe t'il une librairie?
    Par JMLLB dans le forum BOUML
    Réponses: 3
    Dernier message: 17/06/2007, 18h32
  3. Utiliser une librairie graphique
    Par Troopers dans le forum Linux
    Réponses: 6
    Dernier message: 22/08/2003, 11h22
  4. Réponses: 5
    Dernier message: 11/03/2003, 11h49
  5. inclure une librairie *.lib
    Par darkbm dans le forum C
    Réponses: 2
    Dernier message: 16/12/2002, 22h48

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