有人可以用Ant条件属性的例子解释我用"if","and","not"和"istrue"代码吗?
我是Ant的新手,需要帮助.
基本上我需要使用FTP下载文件.我有代码下载它.但是在下载之前我需要检查的条件很少.
提前致谢.
cho*_*ver 12
蚂蚁的contrib被广泛使用的库和的if/else /为/的foreach任务不仅会使其更易于编写复杂的Ant脚本,它们会让你的ant脚本更具可读性.
但是,既然你坚持:)
我已经在过去处理这个问题的方法是设置任务的如果属性x设置,只有执行,并进行任务A取决于检查的条件,并设置属性X,如果他们是真正的一些任务B.例如:
<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>
Run Code Online (Sandbox Code Playgroud)
编辑:
coolgokul,<and>和<not>任务是标准的逻辑运算符.<available>如果文件存在于本地计算机上,则上例中的条件计算结果为true.但是我们只想在本地机器上不存在该文件时才下载该文件,因此我们将其包装在<not>任务中.类似的${Downloadstatusvariable}检查 - 我们想确保它不是真的,所以我们使用<istrue>然后将其包装起来<not>.
最后,我们要确保变量不为真并且文件不存在,因此我们将这两个条件包含在内<and>.翻译成英文,我们问"下载状态变量是不是真的,下载的文件是不可用的?"
建议您阅读有关条件运算符的更多信息@ http://ant.apache.org/manual/Tasks/conditions.html
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
10449 次 |
| 最近记录: |