Включение вывода на консоль для задачи ANT exec - PullRequest
2 голосов
/ 24 мая 2010

В затмении я запускаю html-страницу со SWF-файлом, встроенным из ANT, используя следующий Macrodef:

<macrodef name="runhtml">
   <attribute name="url" />
   <attribute name="browser" default="${app.browser.firefox}" />
   <sequential>
      <exec
         executable="open"
         vmlauncher="true"
         spawn="false"
         failonerror="true">
         <arg line="-a '@{browser}'" />
         <arg line="@{url}" />
      </exec>
   </sequential>
</macrodef>

Несмотря на то, что SWF-файл содержит трассировки, я не получаю вывод от них в консоли. Что может быть причиной этого?

Ответы [ 3 ]

2 голосов
/ 11 июля 2012

Чтобы получить следы от Flash, вам нужно запустить Flash Debugger (FDB). К счастью, он поставляется с Flex SDK. (http://www.adobe.com/devnet/flex/flex-sdk-download.html)

Это пример задачи, которую я использую в Ant для запуска Flash Debugger, который, в свою очередь, запустит ваш браузер, потому что целью является HTML-файл. Если целью является SWF-файл, он просто запускается в отдельном окне FDB.

  <target name="launch-browser">
    <echo file="${basedir}/build/.fdbinit">run file://${outputdir}/swf/index.html
continue</echo>
    <exec executable="${sdk.flex}bin/fdb" spawn="false" dir="build">
      <arg line="-unit"/>
    </exec>
  </target>

Эта задача сначала запишет файл с именем .fdbinit, который содержит команды, которые fdb будет запускать при запуске. Затем он запускает fdb с -unit, чтобы убедиться, что он правильно подключен к компоновщику муравьев (на самом деле я не на 100%, но это необходимо). Это даст вам браузер и следы (также фактическое управление отладчиком) в окне вашего терминала.

-

В качестве альтернативы, используя исходный макрос, если на вашем компьютере установлен Flash Debug Player; вы можете настроить проигрыватель Flash Player на запись трассировок в файл, отредактировав файл mm.cfg и установив параметры TraceOutputFileEnable и TraceOutputFileName.

Этот файл находится в / Library / Application Support / Macromedia на OSX.

Соответствующие и дополнительные документы для mm.cfg: http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7fc9.html

0 голосов
/ 16 декабря 2015

Единственный способ автоматизировать его - использовать .fbinit, как описано в Benoit, но поместить каждую команду в отдельную строку:

    <echo file="${BUILD.dir}/.fdbinit">run file://${outputdir}/swf/index.html
    continue</echo>
0 голосов
/ 01 декабря 2010

У меня точно такая же проблема. Сообщения об ошибках выводятся на консоль, а информационные сообщения - нет. Единственное решение, которое я нашел до сих пор, это добавить ваши собственные эхо в macrodef .

...