Компиляция с помощью fcsh, вызванного как NativeProcess
Пытаюсь скомпилировать флешку через fcsh.exe, вызванный как NativeProcess
Тrace показывает только запуск оболочки, но команду компиляции не обрабатывает. И ошибок никаких не выдаёт. Какие есть мысли? Вывод команды trace Adobe Flex Compiler SHell (fcsh) Version 4.6.0 build 23201 Copyright (c) 2004-2011 Adobe Systems, Inc. All rights reserved. (fcsh) Код AS3:
|
В доке адобовской совсем по другому передаются параметры:
Код AS3:
|
fcsh ожидает перенос строки для начала выполнения команды
Код AS3:
1. Для чтения output в Windows используй output.readMultiByte(output.bytesAvailable, "windows-1251"); 2. Для стабильной работы нужно сначала дождаться в output ответа "(fcsh) " и только потом писать в input 3. Так как fcsh.exe,mxmlc.exe,compc.exe требуют java x86, при наличии в системе только java x64 будет ошибка, вместо этого нужно использовать java.exe -jar lib/fcsh.jar 4. Eсли нужно скомпилировать вызывай нужный компилятор java.exe -jar lib/mxmlc.jar а не Shell обертку fcsh 5. Не используй Air для build tool, для этого есть специализированные инструменты ant, gradle, maven, bash, cmd, Python или java для нетривиальных задач |
Спасибо за развёрнутые ответы.
Nooob, у меня центральное ядро, которое работает с исходниками, управляет swc и прочим, обращается по LocalConnection к SDKMediator'у(рабочее название) - AdobeAir-приложению, содержащему в себе функции fcsh, adt, adl. Смысл понятен из названия. Все эти танцы с бубном для того, чтобы компилятор был максимально отделён. Если он упадёт или перестанет отвечать, то основное приложение его просто перезапустит. Я понимаю, конечно, что я могу это утилитное приложение написать и на java, но особой разницы не вижу. Да и связь между модулями придётся делать иначе |
Часовой пояс GMT +4, время: 09:40. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.