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 :

Utiliser une proprieté pour un nom de variable


Sujet :

ANT Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2005
    Messages : 19
    Points : 20
    Points
    20
    Par défaut Utiliser une proprieté pour un nom de variable
    Bonjour,

    Je me casse la tête sur un problème dont je ne trouve pas d'informations.

    J'aimerais utiliser une variable pour définir le nom d'une variable à laquelle je fais appel. ex.: ${${toto}.serveur}

    Malheureusement, ${toto} n'est pas interprété, du coup je n'arrive pas à accéder à ma variable.

    En gros voici ce que j'aimerais faire :
    J'ai un fichier de propriétés qui ressemble à ceci :

    list.instance=local,server1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    local.list.patch=patch1,patch2,patch3
    server1.list.patch= patch1,patch2
    En fait pour chaque éléments de list.instance j'ai un même set de paramètres qui sont paramétrés par le nom de l'instance.

    Dans mon script ant j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <target name="toto">
    ...
    <foreach param="instance.name" target="patch.instance" list="${list.instance}" inheritall="true" trim="true" />
    ...
    </target>
    <target name="patch.instance">
    ...
    <foreach param="patch.name" target="apply.patch" list="${${instance.name}.list.patch}" inheritall="true" trim="true" />
    ...
    </target>
    Le problème est que dans ${${instance.name}.list.patch}, la variable ${instance.name} n'est pas interprétée.

    Est-ce que vous savez comment faire? Est-ce que vous avez une documentation?

    Merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    <target name="toto">
    ...
    <foreach param="instance.name" target="patch.instance" list="${list.instance}" inheritall="true" trim="true" />
    ...
    </target>
    <target name="patch.instance">
    ...
    <foreach param="patch.name" target="apply.patch" list="${${instance.name}.list.patch}" inheritall="true" trim="true" />
    ...
    </target>
    Alors déjà tes boucles foreach doivent être imbriqué si tu veux que quoi que ce soit fonctionne... ensuite pourquoi tu fais pas simplement ${instance.name}.${list.patch} ???

Discussions similaires

  1. [PHP 5.0] Faire une boucle pour des noms de variable
    Par lonyc dans le forum Langage
    Réponses: 2
    Dernier message: 09/12/2009, 17h19
  2. Réponses: 1
    Dernier message: 26/01/2009, 16h07
  3. Réponses: 7
    Dernier message: 06/01/2009, 19h51
  4. [Tableaux] Utiliser une chaine pour appeler variable
    Par fr6m0v dans le forum Langage
    Réponses: 4
    Dernier message: 15/06/2007, 09h23
  5. Réponses: 36
    Dernier message: 13/05/2004, 18h22

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