是否可以检查命令是否作为ant任务的一部分存在?例如,我想确保"yasm"命令作为ant任务的一部分出现。这可能吗?如果有,你能举个例子吗?
下面的习惯用法可用于在环境的PATH中查找可执行文件。
<property environment="env" />
<available file="commandname"
filepath="${env.PATH}"
property="commandname.present"/>
我能想到的最好的方法是在后续目标中结合使用available
任务和if
任务。如果你看一下那个任务页面你会看到你可以检查是否有东西存在然后设置一个属性。例如:
<available file="/path/to/my/file" type="file" property="file.present"/>
然后在target中输入<target name='foo' if='file.present'>
不检查可执行权限,但它会更接近。如果存在专门检查可执行权限的任务,您仍然可能将其与目标中的if
结合使用。
原来答案
最好使用ant复制任务,而不是尝试自己执行cp
。这保持了它的平台独立性。
<copy todir"/some/target">
<fileset dir="/some/src"/>
</copy>
关于复制任务的Ant文档的更多用法