2010-08-24 3 views
0

Je suis en train de réorganiser nos scripts de déploiement, et j'ai migré vers des fichiers de configuration externes pour chaque environnement défini. J'ai le $ {environnement} et le composant $ {system} passés en tant que variables sur la ligne de commande.Comment évaluer une chaîne en tant que nom de propriété dans Nant?

Je charge la configuration $ {environnement} .xml, qui contient un tas de définitions de propriétés.

<property name="server.component1" value="server01" /> 
<property name="server.component2" value="server02" /> 
<property name="drive.component1" value="C:\" /> 
<property name="drive.component2" value="D:\" /> 
<property name="unc.component1" value="\\${server.component1}\Builds\${system}\${build.date}" /> 
<property name="unc.component2" value="\\${server.component2}\Builds\${system}\${build.date}" /> 

Pour déterminer le serveur à déployer, je dois combiner « serveur » et {système} $ et évalue en nom de la propriété. Il me manque quelque chose ici.

<property name="server" value="${'server.' + system}" /><!-- TODO make this work --> 
<property name="server" value="server.${system}" /> 

Répondre

1

Le property::get-value function devrait être d'une aide:

<property name="server" value="${property::get-value('server.' + system)}" /> 
+0

Merci pour cela, tout ce que je dois –

+0

@Luke M - vous êtes les bienvenus! –

Questions connexes