如何在Nant中将字符串作为属性名称进行评估?

时间:2010-08-24 04:24:56

标签: properties nant

我正在重新调整部署脚本,并已移至每个已定义环境的外部配置文件。我将$ {environment}和$ {system}组件作为变量传递到命令行。

我加载了配置。$ {environment} .xml,其中包含一堆属性定义。

<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}" />

要确定要部署到的服务器,我需要将'server'和$ {system}组合在一起,然后将其评估为属性名称。我在这里错过了一些东西。

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

1 个答案:

答案 0 :(得分:1)

property::get-value function应该有所帮助:

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