Можно ли опубликовать FLA из командной строки? - PullRequest
10 голосов
/ 04 ноября 2008

В нашем проекте у нас есть большое количество (сотни) FLA-файлов, созданных художниками в CS3, из которых мы собираем SWF-файлы для использования в нашем приложении Flex / AS3.

В рамках упрощенной системы сборки / развертывания было бы очень удобно иметь возможность автоматизировать публикацию всех этих FLA-файлов и, в идеале, развертывание SWF-файлов. Я нашел несколько способов сделать пакетную публикацию из CS3 с использованием JSFL, но был удивлен, обнаружив, что CS3, по-видимому, не имеет никаких функций командной строки для этого?

Это в системе Linux, что стоит, у меня нет опыта работы с JSFL, чтобы узнать, можете ли вы каким-либо образом запускать сценарии из командной строки?

note : Я должен был сказать "Linux предпочтительнее" ... Я не использую Linux, но наш сервер / сборочный ПК - Linux ... Я не знал, что CS3 не совместим, поэтому Я думаю, что мы можем сделать эту часть на Windows.

Ответы [ 4 ]

9 голосов
/ 28 января 2009

Выполните ваши JSFL-скрипты из командной строки так:

в Windows: "c:\program files\macromedia\flash 8\flash.exe" myscript.jsfl

на Mac: open myscript.jsfl

Я полагаю, что более старые версии Flash работали на Wine без проблем, но не так уверены в CS3.

Чтобы перебрать пакет локальных файлов, попробуйте что-то вроде этого (в JSFL):

var importFolder = fl.browseForFolderURL('Select a folder with existing FLA files');
var importFolderContents = FLfile.listFolder(importFolder);
for (i = 0; i <importFolderContents.length; i++) {
    file = importFolderContents[i];
    fl.openDocument(file); // and so on
}

И некоторые другие методы, которые вы, вероятно, захотите исследовать, это ..

fl.getDocumentDOM () document.exportSWF () document.publish () * * тысяча двадцать-один fl.closeDocument ()

2 голосов
/ 04 ноября 2008

Как вы используете Flash CS3 в Linux? вы не можете запустить JSFL из командной строки, но компиляция FLA-файла должна быть возможной

какой-то старый пример http://www.mikechambers.com/blog/2003/11/01/flashcommand-flash-2004-command-line-compiler/

новые вещи от Майка Чемберса http://code.google.com/p/flashcommand/ для OSX

так что это определенно возможно только через полуавтоматическую публикацию IDE,

очень плохо Flex-компилятор не способен на такое, вместе с задачами ANT это убийца ... с редактором FDT все довольно круто и автоматизировано

1 голос
/ 07 сентября 2016

Как уже было сказано, это возможно делать со сценариями JSFL, хотя вам все еще нужен инструмент командной строки, который взаимодействует с Adobe Flash Professional, чтобы регистрировать процесс в stdout и предоставлять код выхода на основе результата компиляции.

Я сам написал этот инструмент https://www.npmjs.com/package/flc. В основном это интерфейс командной строки, который абстрагирует Adobe Flash Professional. Протестировано на Flash Pro 2014 и 2015.

0 голосов
/ 08 мая 2014

Да, абсолютно. Фактически, я построил комплексное решение, которое при нажатии одной кнопки обновит файлы классов с отметкой времени версии, откроет Flash, если он еще не открыт, откроет отдельные файлы для публикации, подаст сигнал программа автоматизации через межпроцессное взаимодействие, когда каждый файл завершил публикацию, чтобы вы не столкнулись с какими-либо проблемами синхронизации, и развертываете определенные файлы в Интернете после завершения (после автоматического резервного копирования их и отметки временных имен файлов) и всего процесса завершается менее чем за 10 секунд.

См. Мои вопросы и ответы здесь: Автоматическая публикация FLA-файлов; вызывая Process.Start несколько раз

...