gpt4 book ai didi

Ant 条件 if 在宏定义中

转载 作者:行者123 更新时间:2023-12-04 00:30:47 25 4
gpt4 key购买 nike

在 ant 中,我有一个宏定义。

假设我必须使用这个宏定义,并且如果属性 special.property 中有一个我想运行的宏定义中的项目存在并且是真的,我该怎么办?

我目前有

<macrodef name="someName">
<sequential>
<someMacroDefThatSetsTheProerty />
<some:thingHereThatDependsOn if="special.property" />
<sequential>
</macrodef>

哪个不起作用 - some:thingHereThatDependsOn 没有“if”属性,我不能向它添加一个。

antcontrib 不可用。

有了目标,我可以给目标一个“如果”,我可以用宏定义做什么?

最佳答案

在 Ant 1.9.1 及更高版本中,现在有 if 的新实现和 unless attributes .这可能就是你的想法。

首先,您需要将它们放入您的命名空间中。将它们添加到您的 <project>标题:

<project name="myproject" basedir="." default="package"
xmlns:if="ant:if"
xmlns:unless="ant:unless">

现在,您可以将它们添加到几乎任何 Ant 任务或子实体中:
<!-- Copy over files from special directory, but only if it exists -->
<available property="special.dir.available"
file="${special.dir} type="dir"/>

<copy todir="${target.dir}>
<fileset dir="${special.dir}" if:true="special.dir.available"/>
<fileset dir="${other.dir}"/>
</copy>

<!-- FTP files over to host, but only if it's on line-->
<condition property="ftp.available">
<isreachable host="${ftp.host}"/>
</condition>

<ftp server="${ftp.host}"
userid="${userid}"
passowrd="${password}"
if:true="ftp.available">
<fileset dir=".../>
</ftp>

关于Ant 条件 if 在宏定义中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18206124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com