JSFL - FLFile et éxecution d’une ligne de commande

Afin de dépoussiérer un peu ce blog, je vais lancer avec ce billet une série d’article/tuto sur le JSFL. Ce Javascript pour Flash( je sais pas si on dit comme ça… ), va vous permettre de faire et d’automatiser tout ce qu’il est possible de réaliser avec l’environnement auteur de Flash. Et même beaucoup plus…

On va prendre pour exemple une situation dans laquelle je me suis trouvée dernièrement. Je travaillais sur un projet Actionscript dans Flex Builder qui chargeait une bibliothèque partagée que je réalisait dans l’IDE Flash. Et qui en plus demandait que la plupart du temps je test l’anim à même le browser à cause des Flashvars et de l’utilisation de SWFAddress… Bonjour l’angoisse, compilation dans Flash, dans Flex, ouverture dans le browser etc… et tout ça juste pour tester l’anim après une petite modification dans la library…

Du coup j’ai essayé de voir si il était possible d’automatiser un peu tout cela, en me tournant du côté de JSFL. Et là j’ai tout d’abord essayer de voir si je pouvais compiler mon projet avec mxmlc automatiquement juste après la celle de la library. Après avoir épluché la doc de long en large je dois avouer que j’étais pas loin de baisser les bras, mais il faut en fait savoir qu’il existe une partie de l’API FLFile non documentée particulièrement intéressante. Et notamment le FLFile.runCommandLine() qui va vous permettre d’éxecuter des lignes de commande. Par exemple:

MMExecute( 'FLfile.runCommandLine( "/flex_sdk_3/bin/mxmlc /VotreProjet/VotreDocumentClass.as" )' );
//mettre le MMExecute uniquement si vous l'appelez depuis actionsript

et voilà comment lancé une ligne de commande depuis JSFL. Maintenant bonjour les failles de sécurité et je pense que c’est peut-être pour ça que cette méthode n’est pas documenté… :-) Bref je vous laisse lire pour cette article et celui-ci.

Vous pouvez biensûr aussi appeler des AppleScript avec la command osasscript

Voilà c’est tout pour aujourd’hui, car j’ai plus de batterie sur mon macbook, lol…

Tags: , , , ,

Leave a Reply