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

ANT Java Discussion :

[ANT]Jongler avec une variable


Sujet :

ANT Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 73
    Par défaut [ANT]Jongler avec une variable
    Bonjour à tous et à toutes,

    Je me bat avec Ant depuis un moment pour une simple histoire de variable

    Mon problème est le suivant : je souhaite déclarer une variable globale et modifier sa valeur ou lire sa valeur dans des tâches différentes. Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    <property name="ma_variable_globale" value="Pas de valeur !!!" />
     
    <target name="tache1">
    	<property name="ma_variable_globale" value="1" />
    </target>
     
    <target name="tache2">
    	<echo>${ma_variable_globale"}<echo>
    </target>
    Devinez ce que m'affiche la tâche 2 ? (Et oui... Pas de valeur !!!) Alors que je veux qu'elle m'affiche 1

    So... heeeeelp !!!

    Merci.

  2. #2
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2006
    Messages : 38
    Par défaut
    Dans la doc il est précisé :
    Properties are immutable: whoever sets a property first freezes it for the rest of the build; they are most definitely not variables.
    Les "property" ne sont pas des variables, mais des constantes !

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 352
    Par défaut
    Citation Envoyé par pititom51 Voir le message
    Les "property" ne sont pas des variables, mais des constantes !
    Tout à fait, mais il existe un workaround à cette limitation. Pour cela il faut utiliser l'extension 'ant-contrib" (elle est référencée sur le site Ant) et utiliser le tag <propertyregex> en spécifiant "override='true'"

    Jacques Desmazières

  4. #4
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 21
    Par défaut
    j'ai une solution pour ça,
    en utilisant le jar antcontrib, tu peux rendre une property variable avec
    la balise var:
    <var name="nomProperty" unset="true"/>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <property name="ma_variable_globale" value="Pas de valeur !!!" />
     
    <target name="tache1">
            <var name="ma_variable_globale" unset="true"/>
    	<property name="ma_variable_globale" value="1" />
    </target>
     
    <target name="tache2">
    	<echo>${ma_variable_globale"}<echo>
    </target>
    la ca sera bon
    enjoy

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/11/2006, 13h28
  2. Réponses: 5
    Dernier message: 25/06/2005, 11h35
  3. Réponses: 2
    Dernier message: 14/05/2004, 14h32
  4. Comparaison d'un registre 8 bits avec une variable 32 bits
    Par tupperware dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 15/10/2002, 10h25
  5. Désigner une variable avec une variable?
    Par littleman dans le forum Paradox
    Réponses: 4
    Dernier message: 12/08/2002, 11h21

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