ant - 如果文件夹不存在,如何获得零资源计数
ant - how to get a zero resource count if the folder does not exist
我正在尝试根据文件夹是否包含内容来执行任务,而不是根据它是否仅仅存在。我知道可能有一个冗长的解决方案,是否有我缺少的更好的解决方案?
我尝试了两种不同的方法来设置 属性 取决于文件夹中是否有文件。
我的理解是 'available' 不允许像这样的通配符:
<available property="has.test.data" file="${test.data.dir}/**" type="file"/>
我试过了,但如果文件夹 (test.data.dir) 不存在,它就不起作用:
<fileset id="test.data.files" dir="${test.data.dir}" includes="**/*" />
<condition property="has.test.data">
<resourcecount when="greater" count="0"> <fileset refid="test.data.files" /> </resourcecount>
</condition>
理想情况下,我想根据文件夹是否确实有内容来执行任务,而不仅仅是一个空文件夹。
您可以使用 erroronmissingdir="false"
,以避免 non-existing 目录的错误。如果您需要 属性 始终存在
,请添加 else="false"
<?xml version="1.0" encoding="utf-8"?>
<project name="Test resourcecount" xmlns:if="ant:if">
<fileset id="test.data.files" dir="${test.data.dir}" includes="**/*" erroronmissingdir="false"/>
<condition property="has.test.data" else="false">
<resourcecount when="greater" count="0"> <fileset refid="test.data.files" /> </resourcecount>
</condition>
<echo if:true="${has.test.data}">${test.data.dir} is exists and is not empty</echo>
</project>
相关Ant: How can I ignore build error if directory doesn't exist?
我正在尝试根据文件夹是否包含内容来执行任务,而不是根据它是否仅仅存在。我知道可能有一个冗长的解决方案,是否有我缺少的更好的解决方案?
我尝试了两种不同的方法来设置 属性 取决于文件夹中是否有文件。
我的理解是 'available' 不允许像这样的通配符:
<available property="has.test.data" file="${test.data.dir}/**" type="file"/>
我试过了,但如果文件夹 (test.data.dir) 不存在,它就不起作用:
<fileset id="test.data.files" dir="${test.data.dir}" includes="**/*" />
<condition property="has.test.data">
<resourcecount when="greater" count="0"> <fileset refid="test.data.files" /> </resourcecount>
</condition>
理想情况下,我想根据文件夹是否确实有内容来执行任务,而不仅仅是一个空文件夹。
您可以使用 erroronmissingdir="false"
,以避免 non-existing 目录的错误。如果您需要 属性 始终存在
else="false"
<?xml version="1.0" encoding="utf-8"?>
<project name="Test resourcecount" xmlns:if="ant:if">
<fileset id="test.data.files" dir="${test.data.dir}" includes="**/*" erroronmissingdir="false"/>
<condition property="has.test.data" else="false">
<resourcecount when="greater" count="0"> <fileset refid="test.data.files" /> </resourcecount>
</condition>
<echo if:true="${has.test.data}">${test.data.dir} is exists and is not empty</echo>
</project>
相关Ant: How can I ignore build error if directory doesn't exist?