Command line interface for Adobe Flash Professional


Keywords
flash, fla, compiler, cli
License
MIT
Install
npm install flc@3.1.0

Documentation

npm npm license David

flc

Flc is a command line compiler for FLA files based on Adobe Flash Professional. It is usefull when you need to drive Adobe Flash Professional on Continious Integration server. Under the hood it supplies set of jsfl files to Adobe Flash Professional to execute. Flc is capable of writing status information to stdout and shutdowns with proper exit code which is important for automation scenarios.

How to install

npm install -g flc

How to use

Following command will build FLAs from "c:\fla" and put SWFs to "c:\swf":

flc --interactive-compiler "c:\Program Files\Adobe\Adobe Flash CC 2014\Flash.exe" \
    --input-directory "c:\fla" \ 
    --output-directory "c:\swf" \
    --include-pattern "*.fla"

You help to get a list of all available options:

flc --help

Compatibility

  • Works on Windows and OSX
  • Doesn't requre administrative priveledges
  • Tested on Node 4.2.0+, likely work on previous versions as well
  • Tested on Adobe Flash Professional 2014+

Continious Integration

As flc drives UI of Adobe Flash Professional it is really important that no unexpected dialogs show up in the middle of compilation process. jsfl scripting capabilities are very limited so you should take responsibility to configure Adobe Flash Professional accordingly.

It might be challenging because certain Continious Integration servers execute tasks under Session 0 Desktop, which means that UI of Adobe Flash Professional is not visible by default so you can't see whats going in with it in the middle of compilation process. In order to see it, make sure that:

  1. flc is being run with --debug flag
  2. you have psexec installed

Then RDP into machine that executes flc and run following command:

psexec -i 0 cmd

Once it is executed you will see a message from Interactive Session Detection Service that allows to transition graphically into Session 0 Desktop and see what's going on.