如何复制ant运行后创建的文件

时间:2013-03-07 02:27:05

标签: java eclipse ant eclipse-plugin

我的Ant代码

<?xml version="1.0" encoding="UTF-8"?>
<project default="plugin_export" name="build">
  <target name="plugin_export">
    <pde.exportPlugins destination="C:\" exportSource="false" exportType="directory" plugins="MyPlugin" useJARFormat="true" allowbinarycycles="true" filename="MyPlugin.jar" qualifier="X" />
    <waitfor maxwait="15" maxwaitunit="minute">
      <copy todir="j:\eclipse-rcp-juno-SR1-win32\dropins\">
        <fileset dir="c:\plugins\">
          <include name="*" />
        </fileset>
      </copy>
    </waitfor>
  </target>
</project>

它不起作用,因为我得到了

  

windows_build.xml:8:waitfor不支持嵌套的“copy”元素。

pde.exportPlugins部分由eclipse自动生成,它运行后台进程,用插件创建jar。

我想将该插件复制到我使用的3个eclpse实例中并将其放在dropins文件夹中。 怎么做?

1 个答案:

答案 0 :(得分:2)

要在构建完成后完成任务,您可以使用buildlistener。
Kev Jackson在他的演示文稿中实现了一个非常有用的执行监听器=
http://people.apache.org/~kevj/ossummit/extending-ant.html(来源包含在演示文稿) 对于每个构建结果(BUILD SUCCESSFUL | BUILD FAILED),它提供了一个任务容器  你可以将你所有的东西都放在那个应该在Build完成之后运行的东西:

<exec-listener onSuccess="true">
    <echo>Executing after BUILD SUCCESSFUL...</echo>
    <exec executable="..">
      <arg value="..."/>
    </exec>
    <mail ... />
   ..other tasks
  </exec-listener>
<exec-listener onSuccess="false">
    <echo>Executing after BUILD FAILED...</echo>
    <exec executable="..">
      <arg value="..."/>
    </exec>
    <mail ... />
   ..other tasks
  </exec-listener>