Javascript ANT:检查文件是否为空
我试图在处理一个文件之前检查它是否为空,所有这些都来自我的ANT任务 基本上我有另一个主目标调用的以下目标,在这个目标之后调用了其他目标,我想运行这个目标上发生的任何事情:Javascript ANT:检查文件是否为空,javascript,ant,Javascript,Ant,我试图在处理一个文件之前检查它是否为空,所有这些都来自我的ANT任务 基本上我有另一个主目标调用的以下目标,在这个目标之后调用了其他目标,我想运行这个目标上发生的任何事情: <target name="mytarget"> <!-- Copy a file --> <get verbose="true" ignoreerrors="no" src="..." dest="bla.txt" />
<target name="mytarget">
<!-- Copy a file -->
<get verbose="true" ignoreerrors="no"
src="..."
dest="bla.txt" />
<property name="file.bla" value="bla.txt" />
<!-- Check if the file is empty -->
<script language="javascript"> <![CDATA[
importClass(java.io.File);
file = project.getProperty("file.bla");
var filedesc = new File(file);
var size = filedesc.size;
if (size==0){
//? Exit the target cleanly
}
]]> </script>
<!-- If the file is not empty, process it with ANT. -->
<!-- ... ->
</target>
因此,我设法做到了我想要的,这里是一个基本的例子来检查文件大小,并根据大小运行其他事情
创建仅运行您的条件的目标
编辑处理目标
现在,在另一个目标中,取决于您的条件的目标只需添加:
<target name="target.to.process.the.log.file" unless="file.is.empty">
<!-- whatever you do -->
</target>
这就是所有的人。看看谢谢,非常有用,我以前没有发现:)您的解决方案有效。如果要避免使用
,另一个选项是添加dependens
属性,如:
。
的行为有时会令人惊讶,因此使用依赖于
可能更简单。
<target name="target.to.process.the.log.file" unless="file.is.empty">
<!-- whatever you do -->
</target>