使用默认值从环境中定义 ant 属性

我希望我的构建脚本能够针对发布和开发环境正常运行。

为此,我想在蚂蚁中定义一个属性,调用它(例如)fileTargetName

fileTargetName如果可用,将从环境变量中获取其值,如果它不可用,它将获取 dev 的默认值RELEASE_VER

帮助蚂蚁和让它工作是值得赞赏的。<condition><value></condition><property>


答案 1

Ant 文档中有关如何将环境变量放入属性的示例:

<property environment="env"/>
<echo message="Number of Processors = ${env.NUMBER_OF_PROCESSORS}"/>
<echo message="ANT_HOME is set to = ${env.ANT_HOME}"/>

在您的情况下,您将使用 .${env.RELEASE_VER}

然后,对于条件部分,此处的文档说有三个可能的属性:

Attribute  Description                                             Required 
property   The name of the property to set.                        Yes 
value      The value to set the property to. Defaults to "true".   No 
else       The value to set the property to if the condition       No
           evaluates to false. By default the property will
           remain unset. Since Ant 1.6.3

把它放在一起:

<property environment="env"/>
<condition property="fileTargetName" value="${env.RELEASE_VER}" else="dev">
    <isset property="env.RELEASE_VER" />
</condition>

答案 2

您不需要为此使用 。Ant 中的属性是不可变的,因此您可以只使用以下命令:<condition>

<property environment="env"/>
<property name="env.RELEASE_VER" value="dev"/>

如果设置了环境变量,则该属性将从环境中获取其值,并且第二个语句将不起作用。否则,该属性将在第一个语句之后取消设置,第二个语句将将其值设置为 。RELEASE_VER<property>"dev"


推荐