我可以看到,“if”任务可以在“目标”根目录中使用,也可以在任何需要某些操作的地方使用。但是当我指定一些参数时,我可以使用它吗? 例如,有一个ant-javafx任务fx:deploy,我们可以在其中声明类路径:
<fx:deploy ...>
<fx:resources>
<fx:fileset dir="..." ...>
<fx:fileset dir="..." ...>
</fx:resources>
</fx:deploy>
问题是我可以在该用例中使用“if”吗?例如:
<fx:deploy ...>
<fx:resources>
<if>
<available file="${lib.dir}" type="dir" />
<then><fx:fileset dir="${lib.dir}" ...></then>
</if>
<fx:fileset dir="..." ...>
</fx:resources>
</fx:deploy>
答案 0 :(得分:1)
好的,你在哪里获得<if>
任务?
这些来自Ant-Contrib吗?如果是这样,这些是任务,而不是可以在任务中使用的子实体。
但是, MIGHT 可以在<if>
语句中定义资源:
<if>
<avaliable file="${lib.dir}" type="dir"/>
<then>
<fileset dir="${lib.dir}" id="lib.fileset">
<includes name="..."/>
</fileset>
</then>
<else>
<fileset dir="${foo.dir}" id="lib.fileset">
<include name="..."/>
</fileset>
</else>
</fi>
现在,您将拥有一个id为lib.fileset
的文件集,该文件集可能是两个不同定义之一。然后,您可以将其用作子实体的一部分:
<jar destfile="${jar.name}">
<fileset refid="lib.dir"/>
</jar>
我说 MIGHT 因为我从未尝试过这个,但我真的不明白为什么它不会。我从未使用过JavaFX任务,所以我不想给出一个例子,但文档确实说<fx:resources>
可以使用引用ID。