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 :

Déploiement de POMs variabilisés au niveau du tag version


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 4
    Par défaut Déploiement de POMs variabilisés au niveau du tag version
    Bonjour à tous,

    Dans le cadre du développement dans une entreprise ayant son propre workflow
    de développement, j'aurais besoin de variabiliser le fichier POM de mes projets
    qui peuvent eux-mêmes contenir différents modules.
    Cette variabilisation porte sur le numéro de version de l'artifact de telle sorte :
    -- le fichier POM est écrit une fois pour toute en début d'une release et n'est plus
    modifié jusqu'à la fin de la release;
    -- le numéro de version est figé et n'est plus changé, ex: 01.02.00;
    -- une variable est introduite après ce numéro de version pour déterminer lors d'un build
    ce qui va être généré (release, snapshot, release candidate, alpha, ...) ceci grâce à
    différents profils;

    Lorsque j'effectue des tests en local, tout se passe bien. Cependant lorsque je déploie dans
    des repositories internes à l'entreprise pour mettre à disposition des artifacts, les POMs
    déployés embarquent la variable (et non pas la valeur que je lui affecte par profil) et cela engendre
    des problèmes de gestion des dépendances lors du build d'autres projets dépendant de mes artifacts déployés.

    Auriez-vous une solution qui me permette de garder ce mécanisme de variabilisation dans mon fihcier POM tout
    en déployant ce POM valorisé ?


    PS:
    J'ai regardé un peu le code du plugin deploy, et il semble qu'il déploie le pom tel qu'il est stocké
    sur le disque dur. D'un autre côté, le plugin help avec son goal effective-pom permet de récupérer le POM
    valorisé avec les valeurs des variables définies dans les profils.
    Pensez-vous qu'il soit judicieux de rajouter un paramètre (flag booléen) au plugin deploy pour qu'il sache
    aussi déployer des POM valorisés ? Serait-ce contraire à la philosophie de Maven ?

    Merci par avance pour votre aide.

  2. #2
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par JavaWorker
    -- le fichier POM est écrit une fois pour toute en début d'une release et n'est plus
    modifié jusqu'à la fin de la release;
    -- le numéro de version est figé et n'est plus changé, ex: 01.02.00;
    -- une variable est introduite après ce numéro de version pour déterminer lors d'un build
    ce qui va être généré (release, snapshot, release candidate, alpha, ...) ceci grâce à
    différents profils;
    Je conprends pas trop. Tu veux dire que ta version (dans le POM) est de type 1.2.3-alpha? Ca ne pose pas de problème à Maven ça... Ou que c'est une variable du type ${version} qui n'est pas valorisée initialement? Pourquoi ne pas la valoriser en début de release? Je ne comprends pas vraiment ton workflow, ce qui ne me permets pas de comprendre ce que tu cherches à faire....


    Citation Envoyé par JavaWorker
    Pensez-vous qu'il soit judicieux de rajouter un paramètre (flag booléen) au plugin deploy pour qu'il sache
    aussi déployer des POM valorisés ? Serait-ce contraire à la philosophie de Maven ?
    Pas une bonne idée. Un profil permet de modifier l'execution d'une release pas de définir une release....

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 4
    Par défaut
    Citation Envoyé par denisC
    Je conprends pas trop. Tu veux dire que ta version (dans le POM) est de type 1.2.3-alpha? Ca ne pose pas de problème à Maven ça... Ou que c'est une variable du type ${version} qui n'est pas valorisée initialement? Pourquoi ne pas la valoriser en début de release? Je ne comprends pas vraiment ton workflow, ce qui ne me permets pas de comprendre ce que tu cherches à faire....
    En fait mon tag version serait plutôt comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <version>01.00.00${VarSRC}</version>
    Cette variable peut prendre la valeur "-SNAPSHOT", "-RC1", "-RC2", ... ou être vide. Ce qui me permet de générer des artifacts différents au moment du build sans changer les fichiers POMs.


    Citation Envoyé par denisC
    Pas une bonne idée. Un profil permet de modifier l'execution d'une release pas de définir une release....
    Je comprends bien. Mais alors si j'ai un POM avec des variables, il faut impérativement que je remplace à la main ces variables par leurs valeurs avant
    de déployer sous peine d'avoir un POM déployé contenant des variables qui ne seraient pas déclarées dans un autre environnement ?

    Merci de ta réponse

Discussions similaires

  1. Un problème au niveau du tag s:iterator de Struts 2
    Par CompteHamza dans le forum Struts 2
    Réponses: 0
    Dernier message: 12/08/2012, 14h14
  2. erreur au niveau du tag html:text
    Par ahmed_rabat dans le forum Struts 1
    Réponses: 8
    Dernier message: 29/07/2009, 07h49
  3. Réponses: 4
    Dernier message: 07/05/2009, 09h42
  4. Problème au niveau de la version de JasperReports/JDK
    Par moha_alnif dans le forum iReport
    Réponses: 0
    Dernier message: 25/04/2009, 01h11
  5. Réponses: 0
    Dernier message: 26/07/2007, 16h22

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