Compilateurs ActionScript

Pour pouvoir inclure du code ActionScript et MXML dans une application AIR, vous devez le compiler. Si vous utilisez un IDE (Integrated Development Environment), tel qu’Adobe Flash Builder ou Adobe Flash Professional, il gère la compilation en arrière-plan. Si vous ne faites pas appel à un IDE ou que vous utilisez un script de création, vous pouvez toutefois appeler les compilateurs ActionScript à partir de la ligne de commande pour créer des fichiers SWF.

Présentation des outils de ligne de commande d’AIR intégrés au kit SDK Flex

Chaque outil de ligne de commande que vous utilisez pour créer une application AIR appelle l’outil de création d’applications correspondant :

  • amxmlc appelle mxmlc pour compiler les classes d’application.

  • acompc appelle compc pour compiler les classes de bibliothèque et de composant.

  • aasdoc appelle asdoc pour générer des fichiers de documentation à partir des commentaires du code source.

La seule différence entre les versions AIR et Flex des outils, c’est que la version AIR charge les options de configuration à partir du fichier air-config.xml et non du fichier flex-config.xml

Les outils du kit SDK Flex et leurs options de ligne de commande sont décrits en détail dans la Documentation Flex. Les outils du kit SDK de Flex sont décrits dans les grandes lignes, afin de vous permettre de vous familiariser avec eux et de mettre en évidence les différences entre la création d’applications Flex et la création d’applications AIR.

Configuration des compilateurs

En règle générale, vous spécifiez les options de compilation sur la ligne de commande et par le biais d’un ou de plusieurs fichiers de configuration. Le fichier de configuration global du kit SDK Flex contient les valeurs par défaut utilisées à chaque exécution des compilateurs. Vous pouvez le modifier en fonction de votre environnement de développement. Le répertoire frameworks de l’installation du kit SDK Flex contient deux fichiers de configuration Flex globaux. Utilisez le fichier air-config.xml lorsque vous exécutez le compilateur amxmlc. Il configure le compilateur pour AIR en incluant les bibliothèques AIR. Utilisez le fichier flex-config.xml lorsque vous exécutez mxmlc.

Les valeurs de configuration par défaut sont adaptées pour s’initier au fonctionnement de Flex et AIR. Lorsque vous vous lancez dans un projet de grande envergure, examinez plus en détail toutes les options disponibles. Vous pouvez définir des valeurs propres à un projet pour les options de compilation dans un fichier de configuration local, qui est prioritaire sur les valeurs globales dans tout projet donné.

Remarque : aucune option de compilation ne s’utilise spécifiquement pour les applications AIR. Vous devez cependant référencer les bibliothèques AIR lors de la compilation d’une application AIR. En règle générale, ces bibliothèques sont référencées dans un fichier de configuration au niveau du projet, dans un fichier réservé à un outil de création tel qu’Ant ou directement sur la ligne de commande.

Compilation de fichiers sources MXML et ActionScript pour AIR

Vous avez la possibilité de compiler les actifs Adobe® ActionScript® 3.0 et MXML de l’application AIR à l’aide du compilateur MXML de ligne de commande (amxmlc). (Il est inutile de compiler les applications HTML. Pour compiler un fichier SWF dans Flash Professional, il suffit de publier le clip dans un fichier SWF.)

Pour appeler amxmlc, utilisez la syntaxe de ligne de commande de base suivante :

amxmlc [compiler options] -- MyAIRApp.mxml

[compiler options] indique les options de ligne de commande utilisées pour compiler l’application AIR.

La commande amxmlc appelle le compilateur mxmlc Flex standard avec un paramètre supplémentaire, +configname=air. Ce paramètre indique au compilateur d’utiliser le fichier air-config.xml à la place du fichier flex-config.xml. Mise à part cette différence, l’emploi d’amxmlc est en tout point identique à celui de mxmlc.

Le compilateur charge le fichier de configuration air-config.xml indiquant les bibliothèques AIR et Flex généralement requises pour compiler une application AIR. Une autre solution consiste à utiliser un fichier de configuration local, de niveau projet, destiné à remplacer des options disponibles dans la configuration globale ou à lui en ajouter d’autres. En général, le moyen le plus simple de créer un fichier de configuration local consiste à modifier une copie de la version globale. Vous pouvez charger le fichier local à l’aide de l’option -load-config :

-load-config=project-config.xml Remplace les options globales.

-load-config+=project-config.xml Ajoute des valeurs supplémentaires aux options globales admettant plus d’une valeur, telles que l’option -library-path. Les options globales admettant une seule valeur sont remplacées.

Si vous appliquez une convention d’appellation spéciale aux fichiers de configuration, le compilateur amxmlc charge automatiquement le fichier local. Si, par exemple, le fichier MXML principal s’intitule RunningMan.mxml, nommez le fichier de configuration local RunningMan-config.xml. A présent, pour compiler l’application, vous devez uniquement saisir :

amxmlc RunningMan.mxml

RunningMan-config.xml est chargé automatiquement, car son nom de fichier correspond à celui du fichier MXML compilé.

Exemples d’utilisation du compilateur amxmlc

Les exemples suivants illustrent l’utilisation du compilateur amxmlc. (Seules les ressources ActionScript et MXML de l’application doivent être compilées.)

Compilation d’un fichier MXML AIR :

amxmlc myApp.mxml

Compilation et définition d’un nom de sortie :

amxmlc –output anApp.swf -- myApp.mxml

Compilation d’un fichier ActionScript AIR :

amxmlc myApp.as

Spécification d’un fichier de configuration pour le compilateur :

amxmlc –load-config config.xml -- myApp.mxml

Ajout d’options supplémentaires provenant d’un autre fichier de configuration :

amxmlc –load-config+=moreConfig.xml -- myApp.mxml

Ajout de bibliothèques sur la ligne de commande (en plus des bibliothèques déjà présentes dans le fichier de configuration) :

amxmlc –library-path+=/libs/libOne.swc,/libs/libTwo.swc  -- myApp.mxml

Compilation d’un fichier MXML AIR sans recourir à un fichier de configuration (Win) :

mxmlc -library-path [AIR SDK]/frameworks/libs/air/airframework.swc, ^ 
[AIR SDK]/frameworks/libs/air/airframework.swc, ^ 
-library-path [Flex SDK]/frameworks/libs/framework.swc ^ 
-- myApp.mxml

Compilation d’un fichier MXML AIR sans recourir à un fichier de configuration (Mac OS X ou Linux) :

mxmlc -library-path [AIR SDK]/frameworks/libs/air/airframework.swc, \ 
[AIR SDK]/frameworks/libs/air/airframework.swc, \ 
-library-path [Flex 3 SDK]/frameworks/libs/framework.swc \ 
-- myApp.mxml

Compilation d’un fichier MXML AIR afin d’utiliser une bibliothèque partagée à l’exécution :

amxmlc -external-library-path+=../lib/myLib.swc -runtime-shared-libraries=myrsl.swf -- myApp.mxml

Compilez un fichier MXML AIR pour utiliser un fichier ANE (veillez à utiliser ‑external‑library‑path pour le fichier ANE) :

amxmlc -external-library-path+=../lib/myANE.ane -output=myAneApp.swf -- myAneApp.mxml

Compilation à partir du code Java (dont le chemin de classe est défini de manière à inclure mxmlc.jar) :

java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml

L’option flexlib identifie l’emplacement du répertoire des structures SDK Flex, ce qui permet au compilateur de localiser le fichier flex_config.xml.

Compilation à partir du code Java (sans chemin de classe défini) :

java -jar [Flex SDK 2]/lib/mxmlc.jar +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml

Pour appeler le compilateur via Apache Ant (une tâche Java est utilisée dans cet exemple pour exécuter mxmlc.jar) :

<property name="SDK_HOME" value="C:/Flex46SDK"/> 
<property name="MAIN_SOURCE_FILE" value="src/myApp.mxml"/> 
<property name="DEBUG" value="true"/> 
<target name="compile"> 
    <java jar="${MXMLC.JAR}" fork="true" failonerror="true"> 
        <arg value="-debug=${DEBUG}"/> 
        <arg value="+flexlib=${SDK_HOME}/frameworks"/> 
        <arg value="+configname=air"/> 
        <arg value="-file-specs=${MAIN_SOURCE_FILE}"/> 
    </java> 
</target>

Compilation d’un composant ou d’une bibliothèque de code AIR (Flex)

Servez-vous du compilateur de composants (acompc) afin de compiler des bibliothèques et des composants indépendants AIR. Le compilateur de composants acompc se comporte comme le compilateur amxmlc, à l’exception des points suivants :

  • Vous devez spécifier les classes au sein de la base de code à inclure dans la bibliothèque ou le composant.

  • acompc ne recherche pas automatiquement un fichier de configuration local. Pour utiliser un fichier de configuration de projet, vous devez spécifier l’option –load-config.

La commande acompc appelle le compilateur de composants compc Flex standard, mais elle charge ses options de configuration à partir du fichier air-config.xml au lieu du fichier flex-config.xml.

Fichier de configuration du compilateur de composants

Faites appel à un fichier de configuration local afin d’éviter de saisir (et peut-être de mal orthographier) le chemin source et les noms de classes sur la ligne de commande. Insérez l’option -load-config à la ligne de commande acompc afin de charger le fichier de configuration local.

L’exemple suivant illustre une configuration de développement d’une bibliothèque dotée de deux classes, ParticleManager et Particle, toutes deux contenues dans le package com.adobe.samples.particles. Les fichiers de classe se trouvent dans le dossier source/com/adobe/samples/particles.

<flex-config> 
    <compiler> 
        <source-path> 
            <path-element>source</path-element> 
        </source-path> 
    </compiler> 
    <include-classes> 
        <class>com.adobe.samples.particles.ParticleManager</class> 
        <class>com.adobe.samples.particles.Particle</class> 
    </include-classes> 
</flex-config>

Pour compiler la bibliothèque à l’aide du fichier de configuration intitulé ParticleLib-config.xml, saisissez :

acompc -load-config ParticleLib-config.xml -output ParticleLib.swc

Pour exécuter la même commande uniquement sur la ligne de commande, saisissez :

acompc -source-path source -include-classes com.adobe.samples.particles.Particle  
com.adobe.samples.particles.ParticleManager -output ParticleLib.swc

(Tapez la commande entière sur une ligne ou utilisez le caractère de suite de ligne sur le shell de commande.)

Exemples utilisant acompc

Dans ces exemples, il est supposé que vous utilisez un fichier de configuration intitulé myLib-config.xml.

Compilation d’un composant ou d’une bibliothèque AIR :

acompc -load-config myLib-config.xml -output lib/myLib.swc

Compilation d’une bibliothèque partagée à l’exécution :

acompc -load-config myLib-config.xml -directory -output lib

(Notez qu’avant d’exécuter la commande, vous devez vérifier que le dossier lib existe et qu’il est vide.)