4

是否可以检查命令是否作为 ant 任务的一部分存在。例如,我想确保“yasm”命令作为 ant 任务的一部分存在。这可能吗?如果是这样,你能举个例子吗?

4

2 回答 2

17

以下成语可用于在环境的 PATH 中的某处查找可执行文件。

  <property environment="env" /> 
  <available file="commandname"  
             filepath="${env.PATH}"  
             property="commandname.present"/>
于 2014-10-03T23:20:02.543 回答
1

我能想到的最好方法是将available任务与if后续目标结合使用。如果您查看该任务页面,您将看到您可以检查是否存在某些内容,然后设置一个属性。例如:

<available file="/path/to/my/file" type="file" property="file.present"/>

然后在目标中你会说类似<target name='foo' if='file.present'>

这不会检查可执行权限,但它会更接近。如果存在专门检查可执行权限的任务,您仍然可能会将其与if目标中的 结合起来。


原始答案

最好使用 ant 复制任务,而不是尝试cp自己执行。这使其平台保持独立。

<copy todir"/some/target">
   <fileset dir="/some/src"/>
</copy>

复制任务的 Ant 文档的更多用法。

于 2013-05-15T04:24:31.603 回答