2008-11-04 18 views
9

In unserem Projekt haben wir eine große Anzahl (Hunderte) von FLA-Dateien, die von den Künstlern in CS3 erstellt wurden, aus denen wir SWFs für die Verwendung in unserer Flex/AS3-Anwendung kompilieren.Ist es möglich, eine FLA über die Befehlszeile zu veröffentlichen?

Als Teil eines optimierten Build/Deploy-Systems wäre es sehr praktisch, alle diese FLAs automatisch veröffentlichen zu können und idealerweise auch die SWFs bereitzustellen. Ich habe einige Möglichkeiten gefunden, das CSV-Batch-Publishing mit JSFL durchzuführen, war aber überrascht festzustellen, dass CS3 anscheinend keine Befehlszeilenfunktionalität hat.

Dies ist auf einem Linux-System für das, was es wert ist, habe ich keine Erfahrung mit JSFL zu wissen, ob Sie Skripts von der Befehlszeile irgendwie ausführen können?

Hinweis: Ich hätte sagen sollen "Linux ist bevorzugt" ... Ich benutze kein Linux, aber unser Server/Build-PC ist Linux ... Ich habe nicht realisiert, dass CS3 nicht kompatibel war, also schätze ich kann diesen Teil unter Windows machen.

Antwort

2

Wie läuft Flash CS3 unter Linux? Sie können nicht JSFL von der Kommandozeile ausgeführt werden, aber eine FLA-Datei zu kompilieren sollte

einige alte Beispiel http://www.mikechambers.com/blog/2003/11/01/flashcommand-flash-2004-command-line-compiler/

neueren Sachen von Mike Chambers http://code.google.com/p/flashcommand/ für OSX

so ist es auf jeden Fall möglich scheint nur durch halb möglich sein, automatisierte IDE Veröffentlichung,

Schade Flex Compiler ist nicht in der Lage, so zusammen mit ANT Aufgaben ist es ein Killer ... mit FDT-Editor t hings sind ziemlich cool und automatisierte

8

Führen Sie Ihre JSFL Skripts über die Befehlszeile wie folgt aus:

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

auf Mac: open myscript.jsfl

ich ältere Versionen von Flash glauben lief auf Wein kein Problem, aber nicht so sicher über CS3.

Um eine Charge von lokalen Dateien durchlaufen, versuchen Sie so etwas wie dieses (in 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 
} 

Und einige andere Methoden, die Sie wahrscheinlich untersuchen, werden wollen, sind ..

fl.getDocumentDOM() document.exportSWF() fl.closeDocument()

0

Ja, absolut. Tatsächlich habe ich eine End-to-End-Lösung entwickelt, die auf Knopfdruck Klassendateien mit einem Versionszeitstempel aktualisiert, Flash öffnet, wenn es noch nicht geöffnet ist, einzelne Dateien für die Veröffentlichung öffnen, das signalisieren Automatisierungsprogramm über die Interprozesskommunikation, wenn jede Datei die Veröffentlichung abgeschlossen hat, so dass keine Zeitprobleme auftreten und bestimmte Dateien nach Abschluss der Sicherung (nach automatischer Sicherung und Zeitstempelung der Dateinamen) im Web und dem gesamten Prozess bereitgestellt werden schließt in weniger als 10 Sekunden ab.

mein Q Siehe & A hier: Automating publishing of FLA files; calling Process.Start multiple times

0

Wie es bereits erwähnt wurde, ist es möglich, mit JSFL Skripte zu tun, obwohl Sie noch den Prozess mit Adobe Flash Professional kommuniziert anmelden müssen Kommandozeilen-Tool, das in stdout ein und liefert den Exit-Code basierend auf dem Kompilierergebnis.

Ich habe dieses Tool selbst geschrieben https://www.npmjs.com/package/flc. Es ist im Grunde eine Befehlszeilenschnittstelle, die Adobe Flash Professional abstrahiert. Getestet gegen Flash Pro 2014 und 2015.

Verwandte Themen