【发布时间】:2013-08-13 10:01:09
【问题描述】:
在 ant 中,我有一个宏定义。
假设我必须使用这个宏定义,并且如果属性special.property 存在并且为真,那么我想在所说的宏定义中运行一个项目,我该怎么办?
我现在有
<macrodef name="someName">
<sequential>
<someMacroDefThatSetsTheProerty />
<some:thingHereThatDependsOn if="special.property" />
<sequential>
</macrodef>
这不起作用 - some:thingHereThatDependsOn 没有“if”属性,我无法添加一个。
antcontrib 不可用。
有了一个目标,我可以给目标一个“如果”,我可以用宏定义做什么?
【问题讨论】:
-
ANT 中的条件执行在任务级别不起作用,它适用于目标。也许提供更多关于你正在尝试做的事情的细节。
-
为什么不能使用ant contrib? (或者像 BeanShell 这样的 Ant 中的脚本语言。)Ant 并不打算用于目标中的条件逻辑。仅针对目标本身。引入 Ant contrib 是为了解决这个问题。 Ant contrib 是一个开源 jar。为什么你不能提供它?说你不能使用 ant contrib 感觉有点像在说“我需要解决这个问题,但我的代码中不允许使用任何空格”
-
@MarkO'Connor 老实说,我只是想知道这是否可能。
-
@JeanneBoyarsky 仅仅因为某些东西是“开源的”并不意味着“它可以被使用”。在我的特定情况下,是的,我可以访问 ant contrib。这是一个更多关于“是否可能”的问题,我想这意味着“它不是”。
标签: ant