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

Intégration Continue Discussion :

[Java] structure d'un projet. [Hudson]


Sujet :

Intégration Continue

  1. #1
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Points : 90
    Points
    90
    Par défaut [Java] structure d'un projet.
    Bonjour,

    J'ai une petite question sur comment bien structuré mon projet Java.
    Aujourd'hui j'utilise la structure suivant :
    - Projet
    - build (mes scriptes ant de build)
    - src
    - test
    - lib

    Ca me semble pas trop mal . Par contre pour le mettre dans Hudson, j'ai importé les lib sous SVN. Par contre ca me pose probleme car comme hudson exporte les lib, il les considère comme des sources ce qui est génant pour certaine fonctionnalité comme le tag "automatique" sur build reussi.

    Du coup comment faites vous de votre coté ?

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 350
    Points : 794
    Points
    794
    Par défaut
    - Concernant ta structure, je remplacerais le nom du répertoire 'build' par 'scripts' où je mettrais mes scripts à la racine de ton répertoire projet. 'build' est généralement réservé au répertoire d'output contenant par exemple le résultat de la compilation. Ainsi, si tu laisses 'build', cela peut porter confusion pour des développeurs.

    - Concernant tes librairies, si tu les mets en gestion de configuration SVN, au moment de la pose d'un tag (par Hudson ou par un autre client), les librairies seront nécessairement taguées. Cela est normal et Hudson n'est pas responsable de cela.

    Ce qu'il te faut c'est un système de gestion de dépendances comme Ivy qui s'intègre très bien avec Ant.
    La mise en place de Ivy sur ton projet va constituer à exposer un fichier qui décrit tous les dépendances dont ton projet a besoin (à la compilation, à l'exécution, pour les tests...). A chaque build, ces dépendances seront récupérées depuis des repository distants (d'entreprise ou Internet), puis par exemple, ces librairies seront copiées par Ivy en local pour constituer dynamiquement ce répertoire 'lib'. Ce répertoire 'lib' sera ensuite utilisé par ton script Ant à travers Ivy où géré comme dans ton existant.

    Puis à la fin, Hudson, le scheduler, lancera ensuite ton build Ant/Ivy.

  3. #3
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Points : 90
    Points
    90
    Par défaut
    Merci pour ta reponse.

    Ton idée de "scripts" a la place de "build" me plait bien

    Pour Ivy, j'en avais entendu parler mais je ne l'ai jamais mis en place ni meme vu projet dessus. Faudrait que j'arrive a faire un repository interne par contre... Bon je vais fouiller dans cette direction.

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

Discussions similaires

  1. [java] Structure QuadTree
    Par pseudocode dans le forum Contribuez
    Réponses: 11
    Dernier message: 06/12/2012, 17h17
  2. Réponses: 1
    Dernier message: 02/03/2008, 01h52
  3. compiler un .Java (servlet) dans un projet Tomcat
    Par choupeo dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 10/12/2007, 11h57
  4. [Cocoon] Structure d'un projet vide ?
    Par rozwel dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 13/03/2005, 20h12

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