如何运行 ant 任务<taskdef>作为先决条件?



我使用下面的说明创建了我自己的ant任务。在ant脚本中,我像这样创建<taskdef>:

<!-- myUploader.xml -->
<taskdef name="fileUpload" classname="com.awt.client.UploaderTask" classpath="lib/fileUploader.jar" />
<target name="setup" description="some required setup before taskdef!">
    <!-- checking for required jars, etc... -->
</target>

然后我可以导入调用它的脚本作为ant任务:

<!-- build.xml -->
<import file="myUploader.xml" />
<fileUpload server="${server}" username="${username}" password="${password}" appname="TestApp" appversion="13" />

这一切都很好。现在,在taskdef发生之前,我想在myUploader.xml中进行一些设置。<taskdef>不像ifunlessdepends。我如何确保在<taskdef>完成之前调用我的安装任务?

一种方法是将taskdef移动到setup目标中:

<target name="setup" description="some required setup before taskdef!">
    <!-- checking for required jars, etc... -->
    <taskdef name="fileUpload" classname="com.awt.client.UploaderTask" classpath="lib/fileUploader.jar" />
</target>

然后在主构建文件中,在导入myUploader.xml之后,调用setup目标,它现在负责定义您的自定义任务。

或者您可以将setup目标部分移到外部(成为顶级部分):

<project>
     <!-- do required setup here -->
   <taskdef name="fileUpload" classname="com.awt.client.UploaderTask" classpath="lib/fileUploader.jar" />
...

相关内容

  • 没有找到相关文章

最新更新