flash - ¿Es posible publicar un FLA desde la línea de comando?
scripting cs3 (4)
¿Cómo está ejecutando Flash CS3 en Linux? no se puede ejecutar JSFL desde la línea de comandos, pero la compilación de un archivo FLA debería ser posible
algún viejo ejemplo http://www.mikechambers.com/blog/2003/11/01/flashcommand-flash-2004-command-line-compiler/
Novedades de Mike Chambers http://code.google.com/p/flashcommand/ para OSX
así que definitivamente es posible solo a través de la publicación IDE semi automatizada,
Lástima que el compilador Flex no es capaz de tal cosa, junto con las tareas ANT es un asesino ... con el editor FDT las cosas son bastante geniales y automatizadas
En nuestro proyecto, tenemos una gran cantidad (cientos) de archivos FLA creados por los artistas en CS3, desde los cuales compilamos SWF para usar en nuestra aplicación Flex / AS3.
Como parte de un sistema simplificado de compilación / implementación, sería realmente útil poder automatizar la publicación de todos estos FLA y, de manera ideal, implementar los SWF también. Encontré algunas formas de hacer la publicación por lotes desde CS3 utilizando JSFL, pero me sorprendió descubrir que CS3 aparentemente no tiene ninguna funcionalidad de línea de comandos para esto.
Esto está en un sistema Linux por lo que vale, ¿no tengo experiencia con JSFL para saber si puede ejecutar scripts desde la línea de comandos de alguna manera?
nota : debería haber dicho "Linux es preferido" ... No uso Linux, pero nuestro servidor / PC es Linux ... No me di cuenta de que CS3 no era compatible, así que creo que podemos hacer esta parte en Windows .
Ejecute sus scripts JSFL desde la línea de comando de la siguiente manera:
en Windows: "c:/program files/macromedia/flash 8/flash.exe" myscript.jsfl
en Mac: open myscript.jsfl
Creo que las versiones anteriores de Flash funcionaban en Wine sin problemas, pero no tan seguras sobre CS3.
Para iterar sobre un lote de archivos locales, pruebe algo como esto (en 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
}
Y algunos otros métodos que probablemente quiera investigar son ...
fl.getDocumentDOM () document.exportSWF () document.publish () fl.closeDocument ()
Al igual que ya se indicó, es posible hacerlo con scripts JSFL, aunque aún necesita tener una herramienta de línea de comandos que se comunique con Adobe Flash Professional para registrar el proceso en stdout y suministrar el código de salida en función del resultado de la compilación.
Terminé escribiendo esta herramienta yo mismo https://www.npmjs.com/package/flc . Básicamente es una interfaz de línea de comando que abstrae Adobe Flash Professional. Probado contra Flash Pro 2014 y 2015.
Si, absolutamente. De hecho, he creado una solución de extremo a extremo que, con un solo clic, actualizará los archivos de clase con un sello de tiempo de versión, abrirá Flash si aún no está abierto, abrirá archivos individuales para publicación, señalará el programa de automatización a través de comunicación entre procesos cuando cada archivo ha completado la publicación para que no se encuentre con problemas de tiempo e implemente archivos específicos en la web una vez finalizados (después de hacer copias de seguridad y sellado de los nombres de los archivos) y todo el proceso completa en menos de 10 segundos.
Vea mi Q & A aquí: Automatización de publicación de archivos FLA; llamando al proceso. Comience varias veces