可有人请用“如果”,“和”蚂蚁条件属性的例子来解释我,“不是”和“IsTrue运算”的代码?需要蚂蚁条件例如
我是新来的蚂蚁,需要在这方面的帮助。
基本上我需要使用FTP下载文件。我有代码来下载它。但下载前我需要检查的条件很少。
- 下载之前检查路径
- 的Downloadstatusvariable值(通常它的真或假值“)
- 检查文件是否已经下载或可如果这两个条件,失败则执行的是FTP下载代码。
在此先感谢。
可有人请用“如果”,“和”蚂蚁条件属性的例子来解释我,“不是”和“IsTrue运算”的代码?需要蚂蚁条件例如
我是新来的蚂蚁,需要在这方面的帮助。
基本上我需要使用FTP下载文件。我有代码来下载它。但下载前我需要检查的条件很少。
在此先感谢。
蚂蚁的contrib被广泛使用的库和的if/else /为/的foreach任务不仅会使其更易于编写复杂的Ant脚本,它们会让你的ant脚本更具可读性。
但是,既然你坚持:)
我已经在过去处理这个问题的方法是设置任务的如果属性x设置,只有执行,并进行任务A依赖于某些任务B它检查条件并设置属性X,如果它们是真的。例如:
<target name="get-ftp-file" depends="check-need-ftp-file" if="ftp.call.required">
<ftp ... />
</target>
<target name="check-need-ftp-file">
<condition property="ftp.call.required">
<and>
<not>
<!-- Checks if Downloadstatusvariable variable is true -->
<istrue value="${Downloadstatusvariable}"/>
</not>
<not>
<!-- Checks if file is present in filesystem -->
<available file="${my.file}"/>
</not>
</and>
</condition>
</target>
编辑:
coolgokul,所述<and>
和<not>
任务是标准逻辑运算符。上述示例中的<available>
条件在本地计算机上存在该文件时评估为true。但是,只有当本地计算机上不存在该文件时,我们才会下载该文件,因此我们将其包含在<not>
任务中。为${Downloadstatusvariable}
检查类似 - 我们要确保这是不正确的,所以我们使用<istrue>
,然后把它包起来<not>
。
最后,我们要确保这个变量是不正确的,该文件不存在,所以我们在<and>
包裹这两个条件。翻译成英文,我们问“Downloadstatus变量不正确,并且下载的文件不可用?“
推荐你@http://ant.apache.org/manual/Tasks/conditions.html
希望帮助更多有关条件的运营商。
您尝试使用Ant Contrib Task?。如果你点击那边的链接,该文件解释机智^ h例如,您可能想要通过每个任务
一些相关的例子可能会在这里实现:Steve J's Blog
标准Ant没有“如果”的任务,但你可以做几乎任何条件逻辑你需要通过使用“条件”任务。有关示例,请参阅http://ant.apache.org/manual/Tasks/condition.html。
还有一套附加任务,其中包括ant-contrib库中的“if”任务,但除非您确实需要,否则由于其复杂性将添加到构建环境中,因此我建议不要使用此任务。
感谢加雷斯。我不想使用Ant contrib lib。我需要使用标准的Ant。我读过这个文档,但觉得我需要更多的条件属性与“和”和“不”和“iftrue”的例子。 – coolgokul 2012-07-18 19:05:53
Hey Choover,谢谢你的帮助。你能解释一下我在这里解释我的wat“and”和“not”操作符的功能吗?我总是对这些东西感到困惑...... :-( – coolgokul 2012-07-19 14:49:23
好的答案。我不同意ant-contrib是一个好主意,正因为它可以让你创建复杂的构建脚本......但这当然是一个问题当我在ANT中执行标准任务时,我自己嵌入了一种脚本语言(比如groovy) – 2012-07-19 18:21:07
Mark O'Connor,我从来没有在Ant脚本中看到过嵌入Groovy,谢谢你的提示! – choover 2012-07-19 23:27:06