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 :

Perform release et multi module


Sujet :

Maven Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Perform release et multi module
    Bonjour,

    Je fais actuellement des tests du plugin "Maven-release" avec Hudson sur des projets multi modules.

    Si tous les modules évoluent à la même vitesse et s'ils ont la même version cela fonctionne très bien. Tous les poms sont automatiquement mis à jour avec les bonnes versions et les versions snapshot suivantes sont bien créées.

    Mon problème est dans le cas ou mes modules n'évoluent pas à la même vitesse, exemple dans un projet contenant 3 modules (A, B et C) avec la 1ère version release effectuée en 1.0.0 et donc les développements se font sur la version 1.0.1-snapshot. Pour la version 1.0.1, le module A n'a pas évolué contrairement au modules B et C.

    Comment je dois faire mon "Perform Release" pour la version 1.0.1 pour que le module A ne change pas de version (reste version 1.0.0 en release et version 1.0.1-snapshot en développement) et pour que le pom parent et les pom B et C passent en version 1.0.1 en release et en 1.0.2-snapshot pour le développement ?

    J'espère avoir été suffisamment clair dans ma description du problème.

    Merci d'avance pour votre aide

  2. #2
    Membre régulier
    Inscrit en
    Septembre 2010
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 121
    Points : 74
    Points
    74
    Par défaut
    Bonjour,
    En faite il y a bien un solution vu que tu parle d'hudson dans ton post tu a deux méthode possible avec le plugin release de hudson :

    1/ soit spécifier une version commune pour tout les modules du projets à savoir 1.0.2.
    2/ Soit donner toi même les versions que tu veux a chaque module à savoir le module A 1.0.1 le B1.0.2 ect ...

    Pour chaque release on te demande 2 informations la version de la release et la version de développement suivante. A toi de mettre ce que tu veux dedans avec la 2ème méthode.

    Cldt

  3. #3
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Citation Envoyé par Malatok Voir le message
    Pour chaque release on te demande 2 informations la version de la release et la version de développement suivante. A toi de mettre ce que tu veux dedans avec la 2ème méthode.
    Ca, ça ne change rien. Il faudra spécifier 1 seul numéro de version au final.

    Pour reprendre le message initial : je ne sais pas si cela est possible. Et à mon avis, je pense même que c'est une mauvaise pratique. Si les modules évoluent différemment, pourquoi faire une seule release pour l'ensemble ? Cela n'a pas forcément du sens.
    Donc idéalement, soit maintenir une seule version, soit faire des releases séparées.

    Toutefois, si tu souhaites quand même essayer, la solution que personnellement j'essaierais est de définir pour chaque module la version de release ainsi que la version de développement dans les propriétés du pom.xml :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <properties>
        <releaseVersion>1.2</releaseVersion>
        <developmentVersion>1.3-SNAPSHOT</developmentVersion>
    </properties>

    J'ajouterais une version "globale" pour le pom parent, avec la définition du nom du tag (1 seul tag créé pour l'ensemble du projet) :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <properties>
        <tag>RELEASE_2012_02_13</tag>
        <releaseVersion>xxx</releaseVersion>
        <developmentVersion>yyy-SNAPSHOT</developmentVersion>
    </properties>

    Reste à voir comment le plugin release gère cela...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  4. #4
    Membre régulier
    Inscrit en
    Septembre 2010
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 121
    Points : 74
    Points
    74
    Par défaut
    Pour chaque release on te demande 2 informations la version de la release et la version de développement suivante.
    Ma phrase n’étais peut être pas très clair j'en conviens.

    Dans Hudson il me semble que lors d'une release on peut spécifier le numéro de version release pour chaque module. Mais aussi le numéro de version pour le snapshot suivant.
    Ce qui enlevé la configuration et le besoin a chaque release de passer encore une fois dans tout les POM pour faire évoluer la version.

  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Tu as raison. Et en regardant le site du plugin, il y a simplement écrit ceci pour les projets multi-modules :

    You will be prompted for the version number for each module of the project. If you prefer that every module gets the same version as the parent POM, you can set the option autoVersionSubmodules to true. Now you will be asked only once for the release version and the next development version.
    Donc au final, c'est possible. Mais étant donné que le process de release se fait via Hudson, je pense que mon idée de propriétés par pom est pas mal. Ca peut même être optimisé grâce aux builds paramétrés. En gros, lorsque l'utilisateur builde le job de release, il lui est demandé de saisir différents paramètres :


    • projectX.version
    • projectX.version-dev
    • projectY.version
    • projectY.version-dev
    • etc.

    Et du coup, dans le pom de chaque projet, on aurait :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <properties>
        <releaseVersion>${projectX.version}</releaseVersion>
        <developmentVersion>${projectX.version-dev}</developmentVersion>
    </properties>
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

Discussions similaires

  1. Débrayer les tests pour release multi-module
    Par Tommy31 dans le forum Maven
    Réponses: 14
    Dernier message: 26/07/2011, 10h37
  2. Release d'un projet multi-module
    Par Malatok dans le forum Maven
    Réponses: 3
    Dernier message: 29/04/2011, 12h47
  3. release perform problème avec des modules
    Par storm_2000 dans le forum Maven
    Réponses: 4
    Dernier message: 29/12/2009, 00h13
  4. Réponses: 7
    Dernier message: 03/04/2007, 01h10
  5. BUILD ERROR sur création d'un projet multi-modules
    Par elitost dans le forum Maven
    Réponses: 1
    Dernier message: 28/08/2006, 15h23

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