2013-03-07 6 views
0

Мой 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 не поддерживает вложенные " копировать ".

pde.exportPlugins часть автоматически генерируется eclipse, и она запускает фоновый процесс, который создает банку с плагином.

Я хотел бы скопировать этот плагин в 3 экземпляра eclpse, которые я использую, и поместить его в папку dropins. Как это сделать?

+0

ли ваш муравей файл сборки цели, которая гарантированно работать после завершения сборки? Если это так, вы можете переопределить его. –

+0

https://bugs.eclipse.org/bugs/show_bug.cgi?id=238383 – Jayan

+0

Не могли бы вы переместить блок копирования за пределы waitFor. Waitfor имеет смысл в проверке результата, такого как файл. IMHO, он не может сказать, когда копия каталога завершена. – Jayan

ответ

2

Чтобы все было сделано после завершения сборки, вы можете использовать buildlistener.
Кев Джексон реализовал очень полезный слушатель-исполнитель в своей презентации =
http://people.apache.org/~kevj/ossummit/extending-ant.html (источники включены в презентацию).
Для каждого результата сборки (BUILD УСПЕШНЫЙ | BUILD FAILED) он обеспечивает taskcontainer вы можете поместить все ваши вещи в том, что нужно запустить ПОСЛЕ сборки закончил:

<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> 
Смежные вопросы