Repository: flex-falcon
Updated Branches:
  refs/heads/develop 94ecff546 -> fd80bfd32


- Added support for compiling the examples to JavaScript (Currently the build 
seems to produce invalid output)


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/fd80bfd3
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/fd80bfd3
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/fd80bfd3

Branch: refs/heads/develop
Commit: fd80bfd32a224af13730034f05f9f27793419454
Parents: 94ecff5
Author: Christofer Dutz <[email protected]>
Authored: Tue Jun 28 14:13:14 2016 +0200
Committer: Christofer Dutz <[email protected]>
Committed: Tue Jun 28 14:13:14 2016 +0200

----------------------------------------------------------------------
 .../org/apache/flex/maven/flexjs/BaseMojo.java  |   2 +-
 .../flex/maven/flexjs/CompileAppMojo.java       | 113 +++++-
 .../resources/config/compile-app-config.xml     | 378 ------------------
 .../config/compile-app-flash-config.xml         | 378 ++++++++++++++++++
 .../config/compile-app-javascript-config.xml    | 380 +++++++++++++++++++
 5 files changed, 866 insertions(+), 385 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/fd80bfd3/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/BaseMojo.java
----------------------------------------------------------------------
diff --git 
a/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/BaseMojo.java 
b/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/BaseMojo.java
index 74ce5cf..2548892 100644
--- 
a/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/BaseMojo.java
+++ 
b/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/BaseMojo.java
@@ -69,7 +69,7 @@ public abstract class BaseMojo
     private boolean includeSources = false;
 
     @Parameter
-    private boolean debug = false;
+    protected boolean debug = false;
 
     @Parameter
     private Boolean includeLookupOnly = null;

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/fd80bfd3/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileAppMojo.java
----------------------------------------------------------------------
diff --git 
a/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileAppMojo.java
 
b/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileAppMojo.java
index 6aaf7fa..4483227 100644
--- 
a/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileAppMojo.java
+++ 
b/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileAppMojo.java
@@ -17,12 +17,19 @@ package org.apache.flex.maven.flexjs;
 import org.apache.flex.tools.FlexTool;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.Component;
 import org.apache.maven.plugins.annotations.LifecyclePhase;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.project.MavenProjectHelper;
 
-import java.io.File;
+import java.io.*;
+import java.util.Collections;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
 
 /**
  * goal which compiles a project into a flexjs sef application.
@@ -36,13 +43,25 @@ public class CompileAppMojo
     private String mainClass;
 
     @Parameter(defaultValue = "${project.artifactId}-${project.version}.swf")
-    private String outputFileName;
+    private String flashOutputFileName;
+
+    @Parameter(defaultValue = "${project.artifactId}-${project.version}.war")
+    private String javascriptOutputFileName;
 
     @Parameter(defaultValue = "namespaces")
     protected String namespaceDirectory;
 
+    @Parameter(defaultValue = "false")
+    protected boolean outputJavaScript;
+
+    @Component
+    protected MavenProjectHelper mavenProjectHelper;
+
     @Override
     protected String getToolGroupName() {
+        if(outputJavaScript) {
+            return "FlexJS";
+        }
         return "Falcon";
     }
 
@@ -53,12 +72,18 @@ public class CompileAppMojo
 
     @Override
     protected String getConfigFileName() {
-        return "compile-app-config.xml";
+        if(outputJavaScript) {
+            return "compile-app-javascript-config.xml";
+        }
+        return "compile-app-flash-config.xml";
     }
 
     @Override
     protected File getOutput() {
-        return new File(outputDirectory, outputFileName);
+        if(outputJavaScript) {
+            return new File(outputDirectory, "javascript");
+        }
+        return new File(outputDirectory, flashOutputFileName);
     }
 
     @Override
@@ -80,8 +105,26 @@ public class CompileAppMojo
         super.execute();
 
         if(getOutput().exists()) {
-            // Attach the file created by the compiler as artifact file to 
maven.
-            project.getArtifact().setFile(getOutput());
+            // If it's JavaScript output we have to zip up the output
+            // and set the resulting zip file as the artifact file, or
+            // Maven will complain about missing packaging not assigning
+            // a file to the build.
+            if(outputJavaScript) {
+                File outputArchive = new File(outputDirectory, 
javascriptOutputFileName);
+                // If debug is turned on, package the debug output.
+                if(debug) {
+                    zipDirectory(new File(getOutput(), "bin/js-debug"), 
outputArchive);
+                }
+                // If it's not turned on, package the release-version.
+                else {
+                    zipDirectory(new File(getOutput(), "bin/js-release"), 
outputArchive);
+                }
+                // Attach the file created by the compiler as artifact file to 
maven.
+                mavenProjectHelper.attachArtifact(project, "war", 
outputArchive);
+            } else {
+                // Attach the file created by the compiler as artifact file to 
maven.
+                project.getArtifact().setFile(getOutput());
+            }
         }
     }
 
@@ -145,4 +188,62 @@ public class CompileAppMojo
         return !"extern".equalsIgnoreCase(library.getClassifier());
     }
 
+    private void zipDirectory(File source, File target) {
+        byte[] buffer = new byte[1024];
+        try {
+            FileOutputStream fos = new FileOutputStream(target);
+            ZipOutputStream zos = new ZipOutputStream(fos);
+
+            FileInputStream in = null;
+            Set<String> files = getFiles(source, source);
+            for (String file : files) {
+                ZipEntry ze = new ZipEntry(file);
+                try {
+                    zos.putNextEntry(ze);
+                    in = new FileInputStream(source + File.separator + file);
+                    int len;
+                    while ((len = in.read(buffer)) > 0) {
+                        zos.write(buffer, 0, len);
+                    }
+                } catch (IOException e) {
+                    e.printStackTrace();
+                } finally {
+                    if (in != null) {
+                        try {
+                            in.close();
+                        } catch (IOException e) {
+                            // Ignore ...
+                        }
+                    }
+                }
+            }
+            zos.close();
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private Set<String> getFiles(File source, File curFile) {
+        if(curFile.isDirectory()) {
+            Set<String> files = new HashSet<String>();
+            File[] children = curFile.listFiles();
+            if(children != null) {
+                for (File child : children) {
+                    if(child.isFile()) {
+                        String curFileRelativePath = 
child.getPath().substring(source.getPath().length() + 1);
+                        files.add(curFileRelativePath);
+                    } else {
+                        files.addAll(getFiles(source, child));
+                    }
+                }
+            }
+            return files;
+        } else {
+            String curFileRelativePath = 
curFile.getPath().substring(source.getPath().length() + 1);
+            return Collections.singleton(curFileRelativePath);
+        }
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/fd80bfd3/flexjs-maven-plugin/src/main/resources/config/compile-app-config.xml
----------------------------------------------------------------------
diff --git 
a/flexjs-maven-plugin/src/main/resources/config/compile-app-config.xml 
b/flexjs-maven-plugin/src/main/resources/config/compile-app-config.xml
deleted file mode 100644
index 2b30745..0000000
--- a/flexjs-maven-plugin/src/main/resources/config/compile-app-config.xml
+++ /dev/null
@@ -1,378 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-
--->
-
-
-<flex-config>
-  <!-- Specifies the version of the compiled SWF -->
-  <swf-version>14</swf-version>
-
-  <output>${output}</output>
-
-  <compiler>
-
-    <!-- Turn on generation of accessible SWFs. -->
-    <accessible>true</accessible>
-
-    <!-- Specifies the locales for internationalization. -->
-    <locale>
-      <locale-element>en_US</locale-element>
-    </locale>
-
-    <!-- List of path elements that form the roots of ActionScript class 
hierarchies. -->
-    <source-path>
-#foreach($sourcePath in $sourcePaths)           
<path-element>$sourcePath</path-element>
-#end
-    </source-path>
-
-    <!-- Allow the source-path to have path-elements which contain other 
path-elements -->
-    <allow-source-path-overlap>false</allow-source-path-overlap>
-
-    <!-- Run the AS3 compiler in a mode that detects legal but potentially 
incorrect -->
-    <!-- code.                                                                 
      -->
-    <show-actionscript-warnings>true</show-actionscript-warnings>
-
-    <!-- Turn on generation of debuggable SWFs. False by default for mxmlc, -->
-    <debug>$debug</debug>
-
-    <!-- List of SWC files or directories to compile against but to omit from 
-->
-    <!-- linking.                                                             
-->
-    <external-library-path>
-#foreach($artifact in $externalLibraries)            
<path-element>$artifact.file</path-element>
-#end
-    </external-library-path>
-
-    <!-- Turn on writing of generated/*.as files to disk. These files are 
generated by -->
-    <!-- the compiler during mxml translation and are helpful with 
understanding and   -->
-    <!-- debugging Flex applications.                                          
        -->
-    <keep-generated-actionscript>false</keep-generated-actionscript>
-
-    <!-- not set -->
-    <!--
-    <include-libraries>
-       <library>string</library>
-    </include-libraries>
-    -->
-
-    <!-- List of SWC files or directories that contain SWC files. -->
-    <library-path>
-#foreach($artifact in $libraries)            
<path-element>$artifact.file</path-element>
-#end
-    </library-path>
-
-    <mxml>
-      <children-as-data>true</children-as-data>
-      <imports>
-        <implicit-import>org.apache.flex.events.*</implicit-import>
-        <implicit-import>org.apache.flex.geom.*</implicit-import>
-        <implicit-import>org.apache.flex.core.ClassFactory</implicit-import>
-        <implicit-import>org.apache.flex.core.IFactory</implicit-import>
-      </imports>
-    </mxml>
-    
<binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
-    
<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
-    
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
-    
<binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
-    
<binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
-    <states-class>org.apache.flex.states.State</states-class>
-    
<states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
-    
<states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
-    
<states-event-override-class>org.apache.flex.states.SetEventHandler</states-event-override-class>
-    
<component-factory-class>org.apache.flex.core.ClassFactory</component-factory-class>
-    
<component-factory-interface>org.apache.flex.core.IFactory</component-factory-interface>
-
-    <namespaces>
-#foreach($namespace in $namespaces)      <namespace>
-        <uri>$namespace.uri</uri>
-        <manifest>$namespace.manifest</manifest>
-      </namespace>
-#end
-    </namespaces>
-
-    <!-- Enable post-link SWF optimization. -->
-    <optimize>true</optimize>
-
-    <!-- Enable trace statement omission. -->
-    <omit-trace-statements>true</omit-trace-statements>
-
-    <!-- Keep the following AS3 metadata in the bytecodes.                     
                        -->
-    <!-- Warning: For the data binding feature in the Flex framework to work 
properly,                 -->
-    <!--          the following metadata must be kept:                         
                        -->
-    <!--          1. Bindable                                                  
                        -->
-    <!--          2. Managed                                                   
                        -->
-    <!--          3. ChangeEvent                                               
                        -->
-    <!--          4. NonCommittingChangeEvent                                  
                        -->
-    <!--          5. Transient                                                 
                        -->
-    <!--
-    <keep-as3-metadata>
-        <name>Bindable</name>
-        <name>Managed</name>
-        <name>ChangeEvent</name>
-        <name>NonCommittingChangeEvent</name>
-        <name>Transient</name>
-    </keep-as3-metadata>
-    -->
-
-    <!-- Turn on reporting of data binding warnings. For example: Warning: 
Data binding -->
-    <!-- will not be able to detect assignments to "foo".                      
         -->
-    <show-binding-warnings>true</show-binding-warnings>
-
-    <!-- toggle whether warnings generated from unused type selectors are 
displayed -->
-    
<show-unused-type-selector-warnings>true</show-unused-type-selector-warnings>
-
-    <!-- Run the AS3 compiler in strict error checking mode. -->
-    <strict>true</strict>
-
-    <!-- Use the ActionScript 3 class based object model for greater 
performance and better error reporting. -->
-    <!-- In the class based object model most built-in functions are 
implemented as fixed methods of classes -->
-    <!-- (-strict is recommended, but not required, for earlier errors) -->
-    <as3>true</as3>
-
-    <!-- Use the ECMAScript edition 3 prototype based object model to allow 
dynamic overriding of prototype -->
-    <!-- properties. In the prototype based object model built-in functions 
are implemented as dynamic      -->
-    <!-- properties of prototype objects (-strict is allowed, but may result 
in compiler errors for         -->
-    <!-- references to dynamic properties) -->
-    <es>false</es>
-
-    <!-- List of CSS or SWC files to apply as a theme. -->
-    <theme>
-    </theme>
-
-    <!-- Turns on the display of stack traces for uncaught runtime errors. -->
-    <verbose-stacktraces>false</verbose-stacktraces>
-
-    <!-- Defines the AS3 file encoding. -->
-    <!-- not set -->
-    <!--
-    <actionscript-file-encoding></actionscript-file-encoding>
-    -->
-
-    <fonts>
-
-      <!-- Enables advanced anti-aliasing for embedded fonts, which provides 
greater clarity for small -->
-      <!-- fonts. This setting can be overriden in CSS for specific fonts. -->
-      <!-- NOTE: flash-type has been deprecated. Please use 
advanced-anti-aliasing <flash-type>true</flash-type> -->
-      <advanced-anti-aliasing>true</advanced-anti-aliasing>
-
-      <!-- The number of embedded font faces that are cached. -->
-      <max-cached-fonts>20</max-cached-fonts>
-
-      <!-- The number of character glyph outlines to cache for each font face. 
-->
-      <max-glyphs-per-face>1000</max-glyphs-per-face>
-
-      <!-- Defines ranges that can be used across multiple font-face 
declarations. -->
-      <!-- See flash-unicode-table.xml for more examples. -->
-      <!-- not set -->
-      <!--
-      <languages>
-          <language-range>
-              <lang>englishRange</lang>
-              <range>U+0020-007E</range>
-          </language-range>
-      </languages>
-      -->
-
-      <!-- Compiler font manager classes, in policy resolution order -->
-      <!-- NOTE: For Apache Flex -->
-      <!-- AFEFontManager and CFFFontManager both use proprietary technology.  
-->
-      <!-- You must install the optional font jars if you wish to use embedded 
fonts  -->
-      <!-- directly or you can use fontswf to precompile the font as a swf.  
-->
-      <managers>
-        <manager-class>flash.fonts.JREFontManager</manager-class>
-        <manager-class>flash.fonts.BatikFontManager</manager-class>
-        <manager-class>flash.fonts.AFEFontManager</manager-class>
-        <manager-class>flash.fonts.CFFFontManager</manager-class>
-      </managers>
-
-      <!-- File containing cached system font licensing information produced 
via
-           java -cp mxmlc.jar flex2.tools.FontSnapshot (fontpath)
-           Will default to winFonts.ser on Windows XP and
-           macFonts.ser on Mac OS X, so is commented out by default.
-
-      <local-fonts-snapshot>localFonts.ser</local-fonts-snapshot>
-      -->
-
-    </fonts>
-
-    <!-- Array.toString() format has changed. -->
-    <warn-array-tostring-changes>false</warn-array-tostring-changes>
-
-    <!-- Assignment within conditional. -->
-    
<warn-assignment-within-conditional>true</warn-assignment-within-conditional>
-
-    <!-- Possibly invalid Array cast operation. -->
-    <warn-bad-array-cast>true</warn-bad-array-cast>
-
-    <!-- Non-Boolean value used where a Boolean value was expected. -->
-    <warn-bad-bool-assignment>true</warn-bad-bool-assignment>
-
-    <!-- Invalid Date cast operation. -->
-    <warn-bad-date-cast>true</warn-bad-date-cast>
-
-    <!-- Unknown method. -->
-    <warn-bad-es3-type-method>true</warn-bad-es3-type-method>
-
-    <!-- Unknown property. -->
-    <warn-bad-es3-type-prop>true</warn-bad-es3-type-prop>
-
-    <!-- Illogical comparison with NaN. Any comparison operation involving NaN 
will evaluate to false because NaN != NaN. -->
-    <warn-bad-nan-comparison>true</warn-bad-nan-comparison>
-
-    <!-- Impossible assignment to null. -->
-    <warn-bad-null-assignment>true</warn-bad-null-assignment>
-
-    <!-- Illogical comparison with null. -->
-    <warn-bad-null-comparison>true</warn-bad-null-comparison>
-
-    <!-- Illogical comparison with undefined. Only untyped variables (or 
variables of type *) can be undefined. -->
-    <warn-bad-undefined-comparison>true</warn-bad-undefined-comparison>
-
-    <!-- Boolean() with no arguments returns false in ActionScript 3.0. 
Boolean() returned undefined in ActionScript 2.0. -->
-    
<warn-boolean-constructor-with-no-args>false</warn-boolean-constructor-with-no-args>
-
-    <!-- __resolve is no longer supported. -->
-    <warn-changes-in-resolve>false</warn-changes-in-resolve>
-
-    <!-- Class is sealed. It cannot have members added to it dynamically. -->
-    <warn-class-is-sealed>true</warn-class-is-sealed>
-
-    <!-- Constant not initialized. -->
-    <warn-const-not-initialized>true</warn-const-not-initialized>
-
-    <!-- Function used in new expression returns a value. Result will be what 
the -->
-    <!-- function returns, rather than a new instance of that function.        
   -->
-    <warn-constructor-returns-value>false</warn-constructor-returns-value>
-
-    <!-- EventHandler was not added as a listener. -->
-    
<warn-deprecated-event-handler-error>false</warn-deprecated-event-handler-error>
-
-    <!-- Unsupported ActionScript 2.0 function. -->
-    <warn-deprecated-function-error>true</warn-deprecated-function-error>
-
-    <!-- Unsupported ActionScript 2.0 property. -->
-    <warn-deprecated-property-error>true</warn-deprecated-property-error>
-
-    <!-- More than one argument by the same name. -->
-    <warn-duplicate-argument-names>true</warn-duplicate-argument-names>
-
-    <!-- Duplicate variable definition -->
-    <warn-duplicate-variable-def>true</warn-duplicate-variable-def>
-
-    <!-- ActionScript 3.0 iterates over an object's properties within a "for x 
in target" statement in random order. -->
-    <warn-for-var-in-changes>false</warn-for-var-in-changes>
-
-    <!-- Importing a package by the same name as the current class will hide 
that class identifier in this scope. -->
-    <warn-import-hides-class>true</warn-import-hides-class>
-
-    <!-- Use of the instanceof operator. -->
-    <warn-instance-of-changes>true</warn-instance-of-changes>
-
-    <!-- Internal error in compiler. -->
-    <warn-internal-error>true</warn-internal-error>
-
-    <!-- _level is no longer supported. For more information, see the 
flash.display package. -->
-    <warn-level-not-supported>true</warn-level-not-supported>
-
-    <!-- Missing namespace declaration (e.g. variable is not defined to be 
public, private, etc.). -->
-    <warn-missing-namespace-decl>true</warn-missing-namespace-decl>
-
-    <!-- Negative value will become a large positive value when assigned to a 
uint data type. -->
-    <warn-negative-uint-literal>true</warn-negative-uint-literal>
-
-    <!-- Missing constructor. -->
-    <warn-no-constructor>false</warn-no-constructor>
-
-    <!-- The super() statement was not called within the constructor. -->
-    
<warn-no-explicit-super-call-in-constructor>false</warn-no-explicit-super-call-in-constructor>
-
-    <!-- Missing type declaration. -->
-    <warn-no-type-decl>true</warn-no-type-decl>
-
-    <!-- In ActionScript 3.0, white space is ignored and '' returns 0. 
Number() returns -->
-    <!-- NaN in ActionScript 2.0 when the parameter is '' or contains white 
space.      -->
-    <warn-number-from-string-changes>false</warn-number-from-string-changes>
-
-    <!-- Change in scoping for the this keyword. Class methods extracted from 
an  -->
-    <!-- instance of a class will always resolve this back to that instance. 
In   -->
-    <!-- ActionScript 2.0 this is looked up dynamically based on where the 
method -->
-    <!-- is invoked from.                                                      
   -->
-    <warn-scoping-change-in-this>false</warn-scoping-change-in-this>
-
-    <!-- Inefficient use of += on a TextField.-->
-    <warn-slow-text-field-addition>true</warn-slow-text-field-addition>
-
-    <!-- Possible missing parentheses. -->
-    <warn-unlikely-function-value>true</warn-unlikely-function-value>
-
-    <!-- Possible usage of the ActionScript 2.0 XML class. -->
-    <warn-xml-class-has-changed>false</warn-xml-class-has-changed>
-
-#foreach($define in $defines)    <define>
-      <name>$define.name</name>
-      <value>$define.value</value>
-    </define>
-#end
-
-  </compiler>
-
-#if($includeSources)
-  <include-sources>
-#foreach($sourcePath in $sourcePaths)    
<path-element>$sourcePath</path-element>
-#end
-  </include-sources>
-#end
-
-#if($includeClasses)
-  <include-classes>
-#foreach($includeClass in $includeClasses)    <class>$includeClass</class>
-#end
-  </include-classes>
-#end
-
-  <!-- compute-digest: writes a digest to the catalog.xml of a library. Use 
this when the library will be used as a
-                       cross-domain rsl.-->
-  <!-- compute-digest usage:
-  <compute-digest>boolean</compute-digest>
-  -->
-
-  <!-- remove-unused-rsls: remove RSLs that are not being used by the 
application-->
-  <remove-unused-rsls>true</remove-unused-rsls>
-
-  <!-- static-link-runtime-shared-libraries: statically link the libraries 
specified by the -runtime-shared-libraries-path option.-->
-  
<static-link-runtime-shared-libraries>true</static-link-runtime-shared-libraries>
-
-  <!-- target-player: specifies the version of the player the application is 
targeting.
-                      Features requiring a later version will not be compiled 
into the application.
-                      The minimum value supported is "9.0.0".-->
-  <target-player>${targetPlayer}</target-player>
-
-  <!-- Enables SWFs to access the network. -->
-  <use-network>true</use-network>
-
-  <!-- Metadata added to SWFs via the SWF Metadata tag. -->
-  <metadata>
-    <title>Apache FlexJS Application</title>
-    <description>http://flex.apache.org/</description>
-    <publisher>Apache Software Foundation</publisher>
-    <creator>unknown</creator>
-    <language>EN</language>
-  </metadata>
-
-</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/fd80bfd3/flexjs-maven-plugin/src/main/resources/config/compile-app-flash-config.xml
----------------------------------------------------------------------
diff --git 
a/flexjs-maven-plugin/src/main/resources/config/compile-app-flash-config.xml 
b/flexjs-maven-plugin/src/main/resources/config/compile-app-flash-config.xml
new file mode 100644
index 0000000..2b30745
--- /dev/null
+++ b/flexjs-maven-plugin/src/main/resources/config/compile-app-flash-config.xml
@@ -0,0 +1,378 @@
+<?xml version="1.0"?>
+
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<flex-config>
+  <!-- Specifies the version of the compiled SWF -->
+  <swf-version>14</swf-version>
+
+  <output>${output}</output>
+
+  <compiler>
+
+    <!-- Turn on generation of accessible SWFs. -->
+    <accessible>true</accessible>
+
+    <!-- Specifies the locales for internationalization. -->
+    <locale>
+      <locale-element>en_US</locale-element>
+    </locale>
+
+    <!-- List of path elements that form the roots of ActionScript class 
hierarchies. -->
+    <source-path>
+#foreach($sourcePath in $sourcePaths)           
<path-element>$sourcePath</path-element>
+#end
+    </source-path>
+
+    <!-- Allow the source-path to have path-elements which contain other 
path-elements -->
+    <allow-source-path-overlap>false</allow-source-path-overlap>
+
+    <!-- Run the AS3 compiler in a mode that detects legal but potentially 
incorrect -->
+    <!-- code.                                                                 
      -->
+    <show-actionscript-warnings>true</show-actionscript-warnings>
+
+    <!-- Turn on generation of debuggable SWFs. False by default for mxmlc, -->
+    <debug>$debug</debug>
+
+    <!-- List of SWC files or directories to compile against but to omit from 
-->
+    <!-- linking.                                                             
-->
+    <external-library-path>
+#foreach($artifact in $externalLibraries)            
<path-element>$artifact.file</path-element>
+#end
+    </external-library-path>
+
+    <!-- Turn on writing of generated/*.as files to disk. These files are 
generated by -->
+    <!-- the compiler during mxml translation and are helpful with 
understanding and   -->
+    <!-- debugging Flex applications.                                          
        -->
+    <keep-generated-actionscript>false</keep-generated-actionscript>
+
+    <!-- not set -->
+    <!--
+    <include-libraries>
+       <library>string</library>
+    </include-libraries>
+    -->
+
+    <!-- List of SWC files or directories that contain SWC files. -->
+    <library-path>
+#foreach($artifact in $libraries)            
<path-element>$artifact.file</path-element>
+#end
+    </library-path>
+
+    <mxml>
+      <children-as-data>true</children-as-data>
+      <imports>
+        <implicit-import>org.apache.flex.events.*</implicit-import>
+        <implicit-import>org.apache.flex.geom.*</implicit-import>
+        <implicit-import>org.apache.flex.core.ClassFactory</implicit-import>
+        <implicit-import>org.apache.flex.core.IFactory</implicit-import>
+      </imports>
+    </mxml>
+    
<binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
+    
<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
+    
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+    
<binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
+    
<binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+    <states-class>org.apache.flex.states.State</states-class>
+    
<states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
+    
<states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
+    
<states-event-override-class>org.apache.flex.states.SetEventHandler</states-event-override-class>
+    
<component-factory-class>org.apache.flex.core.ClassFactory</component-factory-class>
+    
<component-factory-interface>org.apache.flex.core.IFactory</component-factory-interface>
+
+    <namespaces>
+#foreach($namespace in $namespaces)      <namespace>
+        <uri>$namespace.uri</uri>
+        <manifest>$namespace.manifest</manifest>
+      </namespace>
+#end
+    </namespaces>
+
+    <!-- Enable post-link SWF optimization. -->
+    <optimize>true</optimize>
+
+    <!-- Enable trace statement omission. -->
+    <omit-trace-statements>true</omit-trace-statements>
+
+    <!-- Keep the following AS3 metadata in the bytecodes.                     
                        -->
+    <!-- Warning: For the data binding feature in the Flex framework to work 
properly,                 -->
+    <!--          the following metadata must be kept:                         
                        -->
+    <!--          1. Bindable                                                  
                        -->
+    <!--          2. Managed                                                   
                        -->
+    <!--          3. ChangeEvent                                               
                        -->
+    <!--          4. NonCommittingChangeEvent                                  
                        -->
+    <!--          5. Transient                                                 
                        -->
+    <!--
+    <keep-as3-metadata>
+        <name>Bindable</name>
+        <name>Managed</name>
+        <name>ChangeEvent</name>
+        <name>NonCommittingChangeEvent</name>
+        <name>Transient</name>
+    </keep-as3-metadata>
+    -->
+
+    <!-- Turn on reporting of data binding warnings. For example: Warning: 
Data binding -->
+    <!-- will not be able to detect assignments to "foo".                      
         -->
+    <show-binding-warnings>true</show-binding-warnings>
+
+    <!-- toggle whether warnings generated from unused type selectors are 
displayed -->
+    
<show-unused-type-selector-warnings>true</show-unused-type-selector-warnings>
+
+    <!-- Run the AS3 compiler in strict error checking mode. -->
+    <strict>true</strict>
+
+    <!-- Use the ActionScript 3 class based object model for greater 
performance and better error reporting. -->
+    <!-- In the class based object model most built-in functions are 
implemented as fixed methods of classes -->
+    <!-- (-strict is recommended, but not required, for earlier errors) -->
+    <as3>true</as3>
+
+    <!-- Use the ECMAScript edition 3 prototype based object model to allow 
dynamic overriding of prototype -->
+    <!-- properties. In the prototype based object model built-in functions 
are implemented as dynamic      -->
+    <!-- properties of prototype objects (-strict is allowed, but may result 
in compiler errors for         -->
+    <!-- references to dynamic properties) -->
+    <es>false</es>
+
+    <!-- List of CSS or SWC files to apply as a theme. -->
+    <theme>
+    </theme>
+
+    <!-- Turns on the display of stack traces for uncaught runtime errors. -->
+    <verbose-stacktraces>false</verbose-stacktraces>
+
+    <!-- Defines the AS3 file encoding. -->
+    <!-- not set -->
+    <!--
+    <actionscript-file-encoding></actionscript-file-encoding>
+    -->
+
+    <fonts>
+
+      <!-- Enables advanced anti-aliasing for embedded fonts, which provides 
greater clarity for small -->
+      <!-- fonts. This setting can be overriden in CSS for specific fonts. -->
+      <!-- NOTE: flash-type has been deprecated. Please use 
advanced-anti-aliasing <flash-type>true</flash-type> -->
+      <advanced-anti-aliasing>true</advanced-anti-aliasing>
+
+      <!-- The number of embedded font faces that are cached. -->
+      <max-cached-fonts>20</max-cached-fonts>
+
+      <!-- The number of character glyph outlines to cache for each font face. 
-->
+      <max-glyphs-per-face>1000</max-glyphs-per-face>
+
+      <!-- Defines ranges that can be used across multiple font-face 
declarations. -->
+      <!-- See flash-unicode-table.xml for more examples. -->
+      <!-- not set -->
+      <!--
+      <languages>
+          <language-range>
+              <lang>englishRange</lang>
+              <range>U+0020-007E</range>
+          </language-range>
+      </languages>
+      -->
+
+      <!-- Compiler font manager classes, in policy resolution order -->
+      <!-- NOTE: For Apache Flex -->
+      <!-- AFEFontManager and CFFFontManager both use proprietary technology.  
-->
+      <!-- You must install the optional font jars if you wish to use embedded 
fonts  -->
+      <!-- directly or you can use fontswf to precompile the font as a swf.  
-->
+      <managers>
+        <manager-class>flash.fonts.JREFontManager</manager-class>
+        <manager-class>flash.fonts.BatikFontManager</manager-class>
+        <manager-class>flash.fonts.AFEFontManager</manager-class>
+        <manager-class>flash.fonts.CFFFontManager</manager-class>
+      </managers>
+
+      <!-- File containing cached system font licensing information produced 
via
+           java -cp mxmlc.jar flex2.tools.FontSnapshot (fontpath)
+           Will default to winFonts.ser on Windows XP and
+           macFonts.ser on Mac OS X, so is commented out by default.
+
+      <local-fonts-snapshot>localFonts.ser</local-fonts-snapshot>
+      -->
+
+    </fonts>
+
+    <!-- Array.toString() format has changed. -->
+    <warn-array-tostring-changes>false</warn-array-tostring-changes>
+
+    <!-- Assignment within conditional. -->
+    
<warn-assignment-within-conditional>true</warn-assignment-within-conditional>
+
+    <!-- Possibly invalid Array cast operation. -->
+    <warn-bad-array-cast>true</warn-bad-array-cast>
+
+    <!-- Non-Boolean value used where a Boolean value was expected. -->
+    <warn-bad-bool-assignment>true</warn-bad-bool-assignment>
+
+    <!-- Invalid Date cast operation. -->
+    <warn-bad-date-cast>true</warn-bad-date-cast>
+
+    <!-- Unknown method. -->
+    <warn-bad-es3-type-method>true</warn-bad-es3-type-method>
+
+    <!-- Unknown property. -->
+    <warn-bad-es3-type-prop>true</warn-bad-es3-type-prop>
+
+    <!-- Illogical comparison with NaN. Any comparison operation involving NaN 
will evaluate to false because NaN != NaN. -->
+    <warn-bad-nan-comparison>true</warn-bad-nan-comparison>
+
+    <!-- Impossible assignment to null. -->
+    <warn-bad-null-assignment>true</warn-bad-null-assignment>
+
+    <!-- Illogical comparison with null. -->
+    <warn-bad-null-comparison>true</warn-bad-null-comparison>
+
+    <!-- Illogical comparison with undefined. Only untyped variables (or 
variables of type *) can be undefined. -->
+    <warn-bad-undefined-comparison>true</warn-bad-undefined-comparison>
+
+    <!-- Boolean() with no arguments returns false in ActionScript 3.0. 
Boolean() returned undefined in ActionScript 2.0. -->
+    
<warn-boolean-constructor-with-no-args>false</warn-boolean-constructor-with-no-args>
+
+    <!-- __resolve is no longer supported. -->
+    <warn-changes-in-resolve>false</warn-changes-in-resolve>
+
+    <!-- Class is sealed. It cannot have members added to it dynamically. -->
+    <warn-class-is-sealed>true</warn-class-is-sealed>
+
+    <!-- Constant not initialized. -->
+    <warn-const-not-initialized>true</warn-const-not-initialized>
+
+    <!-- Function used in new expression returns a value. Result will be what 
the -->
+    <!-- function returns, rather than a new instance of that function.        
   -->
+    <warn-constructor-returns-value>false</warn-constructor-returns-value>
+
+    <!-- EventHandler was not added as a listener. -->
+    
<warn-deprecated-event-handler-error>false</warn-deprecated-event-handler-error>
+
+    <!-- Unsupported ActionScript 2.0 function. -->
+    <warn-deprecated-function-error>true</warn-deprecated-function-error>
+
+    <!-- Unsupported ActionScript 2.0 property. -->
+    <warn-deprecated-property-error>true</warn-deprecated-property-error>
+
+    <!-- More than one argument by the same name. -->
+    <warn-duplicate-argument-names>true</warn-duplicate-argument-names>
+
+    <!-- Duplicate variable definition -->
+    <warn-duplicate-variable-def>true</warn-duplicate-variable-def>
+
+    <!-- ActionScript 3.0 iterates over an object's properties within a "for x 
in target" statement in random order. -->
+    <warn-for-var-in-changes>false</warn-for-var-in-changes>
+
+    <!-- Importing a package by the same name as the current class will hide 
that class identifier in this scope. -->
+    <warn-import-hides-class>true</warn-import-hides-class>
+
+    <!-- Use of the instanceof operator. -->
+    <warn-instance-of-changes>true</warn-instance-of-changes>
+
+    <!-- Internal error in compiler. -->
+    <warn-internal-error>true</warn-internal-error>
+
+    <!-- _level is no longer supported. For more information, see the 
flash.display package. -->
+    <warn-level-not-supported>true</warn-level-not-supported>
+
+    <!-- Missing namespace declaration (e.g. variable is not defined to be 
public, private, etc.). -->
+    <warn-missing-namespace-decl>true</warn-missing-namespace-decl>
+
+    <!-- Negative value will become a large positive value when assigned to a 
uint data type. -->
+    <warn-negative-uint-literal>true</warn-negative-uint-literal>
+
+    <!-- Missing constructor. -->
+    <warn-no-constructor>false</warn-no-constructor>
+
+    <!-- The super() statement was not called within the constructor. -->
+    
<warn-no-explicit-super-call-in-constructor>false</warn-no-explicit-super-call-in-constructor>
+
+    <!-- Missing type declaration. -->
+    <warn-no-type-decl>true</warn-no-type-decl>
+
+    <!-- In ActionScript 3.0, white space is ignored and '' returns 0. 
Number() returns -->
+    <!-- NaN in ActionScript 2.0 when the parameter is '' or contains white 
space.      -->
+    <warn-number-from-string-changes>false</warn-number-from-string-changes>
+
+    <!-- Change in scoping for the this keyword. Class methods extracted from 
an  -->
+    <!-- instance of a class will always resolve this back to that instance. 
In   -->
+    <!-- ActionScript 2.0 this is looked up dynamically based on where the 
method -->
+    <!-- is invoked from.                                                      
   -->
+    <warn-scoping-change-in-this>false</warn-scoping-change-in-this>
+
+    <!-- Inefficient use of += on a TextField.-->
+    <warn-slow-text-field-addition>true</warn-slow-text-field-addition>
+
+    <!-- Possible missing parentheses. -->
+    <warn-unlikely-function-value>true</warn-unlikely-function-value>
+
+    <!-- Possible usage of the ActionScript 2.0 XML class. -->
+    <warn-xml-class-has-changed>false</warn-xml-class-has-changed>
+
+#foreach($define in $defines)    <define>
+      <name>$define.name</name>
+      <value>$define.value</value>
+    </define>
+#end
+
+  </compiler>
+
+#if($includeSources)
+  <include-sources>
+#foreach($sourcePath in $sourcePaths)    
<path-element>$sourcePath</path-element>
+#end
+  </include-sources>
+#end
+
+#if($includeClasses)
+  <include-classes>
+#foreach($includeClass in $includeClasses)    <class>$includeClass</class>
+#end
+  </include-classes>
+#end
+
+  <!-- compute-digest: writes a digest to the catalog.xml of a library. Use 
this when the library will be used as a
+                       cross-domain rsl.-->
+  <!-- compute-digest usage:
+  <compute-digest>boolean</compute-digest>
+  -->
+
+  <!-- remove-unused-rsls: remove RSLs that are not being used by the 
application-->
+  <remove-unused-rsls>true</remove-unused-rsls>
+
+  <!-- static-link-runtime-shared-libraries: statically link the libraries 
specified by the -runtime-shared-libraries-path option.-->
+  
<static-link-runtime-shared-libraries>true</static-link-runtime-shared-libraries>
+
+  <!-- target-player: specifies the version of the player the application is 
targeting.
+                      Features requiring a later version will not be compiled 
into the application.
+                      The minimum value supported is "9.0.0".-->
+  <target-player>${targetPlayer}</target-player>
+
+  <!-- Enables SWFs to access the network. -->
+  <use-network>true</use-network>
+
+  <!-- Metadata added to SWFs via the SWF Metadata tag. -->
+  <metadata>
+    <title>Apache FlexJS Application</title>
+    <description>http://flex.apache.org/</description>
+    <publisher>Apache Software Foundation</publisher>
+    <creator>unknown</creator>
+    <language>EN</language>
+  </metadata>
+
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/fd80bfd3/flexjs-maven-plugin/src/main/resources/config/compile-app-javascript-config.xml
----------------------------------------------------------------------
diff --git 
a/flexjs-maven-plugin/src/main/resources/config/compile-app-javascript-config.xml
 
b/flexjs-maven-plugin/src/main/resources/config/compile-app-javascript-config.xml
new file mode 100644
index 0000000..4f75494
--- /dev/null
+++ 
b/flexjs-maven-plugin/src/main/resources/config/compile-app-javascript-config.xml
@@ -0,0 +1,380 @@
+<?xml version="1.0"?>
+
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<flex-config>
+
+  <js-output-type>FLEXJS</js-output-type>
+  <!-- Specifies the version of the compiled SWF -->
+  <swf-version>14</swf-version>
+
+  <output>${output}</output>
+
+  <compiler>
+
+    <!-- Turn on generation of accessible SWFs. -->
+    <accessible>true</accessible>
+
+    <!-- Specifies the locales for internationalization. -->
+    <locale>
+      <locale-element>en_US</locale-element>
+    </locale>
+
+    <!-- List of path elements that form the roots of ActionScript class 
hierarchies. -->
+    <source-path>
+#foreach($sourcePath in $sourcePaths)           
<path-element>$sourcePath</path-element>
+#end
+    </source-path>
+
+    <!-- Allow the source-path to have path-elements which contain other 
path-elements -->
+    <allow-source-path-overlap>false</allow-source-path-overlap>
+
+    <!-- Run the AS3 compiler in a mode that detects legal but potentially 
incorrect -->
+    <!-- code.                                                                 
      -->
+    <show-actionscript-warnings>true</show-actionscript-warnings>
+
+    <!-- Turn on generation of debuggable SWFs. False by default for mxmlc, -->
+    <debug>$debug</debug>
+
+    <!-- List of SWC files or directories to compile against but to omit from 
-->
+    <!-- linking.                                                             
-->
+    <external-library-path>
+#foreach($artifact in $externalLibraries)            
<path-element>$artifact.file</path-element>
+#end
+    </external-library-path>
+
+    <!-- Turn on writing of generated/*.as files to disk. These files are 
generated by -->
+    <!-- the compiler during mxml translation and are helpful with 
understanding and   -->
+    <!-- debugging Flex applications.                                          
        -->
+    <keep-generated-actionscript>false</keep-generated-actionscript>
+
+    <!-- not set -->
+    <!--
+    <include-libraries>
+       <library>string</library>
+    </include-libraries>
+    -->
+
+    <!-- List of SWC files or directories that contain SWC files. -->
+    <library-path>
+#foreach($artifact in $libraries)            
<path-element>$artifact.file</path-element>
+#end
+    </library-path>
+
+    <mxml>
+      <children-as-data>true</children-as-data>
+      <imports>
+        <implicit-import>org.apache.flex.events.*</implicit-import>
+        <implicit-import>org.apache.flex.geom.*</implicit-import>
+        <implicit-import>org.apache.flex.core.ClassFactory</implicit-import>
+        <implicit-import>org.apache.flex.core.IFactory</implicit-import>
+      </imports>
+    </mxml>
+    
<binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
+    
<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
+    
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+    
<binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
+    
<binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+    <states-class>org.apache.flex.states.State</states-class>
+    
<states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
+    
<states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
+    
<states-event-override-class>org.apache.flex.states.SetEventHandler</states-event-override-class>
+    
<component-factory-class>org.apache.flex.core.ClassFactory</component-factory-class>
+    
<component-factory-interface>org.apache.flex.core.IFactory</component-factory-interface>
+
+    <namespaces>
+#foreach($namespace in $namespaces)      <namespace>
+        <uri>$namespace.uri</uri>
+        <manifest>$namespace.manifest</manifest>
+      </namespace>
+#end
+    </namespaces>
+
+    <!-- Enable post-link SWF optimization. -->
+    <optimize>true</optimize>
+
+    <!-- Enable trace statement omission. -->
+    <omit-trace-statements>true</omit-trace-statements>
+
+    <!-- Keep the following AS3 metadata in the bytecodes.                     
                        -->
+    <!-- Warning: For the data binding feature in the Flex framework to work 
properly,                 -->
+    <!--          the following metadata must be kept:                         
                        -->
+    <!--          1. Bindable                                                  
                        -->
+    <!--          2. Managed                                                   
                        -->
+    <!--          3. ChangeEvent                                               
                        -->
+    <!--          4. NonCommittingChangeEvent                                  
                        -->
+    <!--          5. Transient                                                 
                        -->
+    <!--
+    <keep-as3-metadata>
+        <name>Bindable</name>
+        <name>Managed</name>
+        <name>ChangeEvent</name>
+        <name>NonCommittingChangeEvent</name>
+        <name>Transient</name>
+    </keep-as3-metadata>
+    -->
+
+    <!-- Turn on reporting of data binding warnings. For example: Warning: 
Data binding -->
+    <!-- will not be able to detect assignments to "foo".                      
         -->
+    <show-binding-warnings>true</show-binding-warnings>
+
+    <!-- toggle whether warnings generated from unused type selectors are 
displayed -->
+    
<show-unused-type-selector-warnings>true</show-unused-type-selector-warnings>
+
+    <!-- Run the AS3 compiler in strict error checking mode. -->
+    <strict>true</strict>
+
+    <!-- Use the ActionScript 3 class based object model for greater 
performance and better error reporting. -->
+    <!-- In the class based object model most built-in functions are 
implemented as fixed methods of classes -->
+    <!-- (-strict is recommended, but not required, for earlier errors) -->
+    <as3>true</as3>
+
+    <!-- Use the ECMAScript edition 3 prototype based object model to allow 
dynamic overriding of prototype -->
+    <!-- properties. In the prototype based object model built-in functions 
are implemented as dynamic      -->
+    <!-- properties of prototype objects (-strict is allowed, but may result 
in compiler errors for         -->
+    <!-- references to dynamic properties) -->
+    <es>false</es>
+
+    <!-- List of CSS or SWC files to apply as a theme. -->
+    <theme>
+    </theme>
+
+    <!-- Turns on the display of stack traces for uncaught runtime errors. -->
+    <verbose-stacktraces>false</verbose-stacktraces>
+
+    <!-- Defines the AS3 file encoding. -->
+    <!-- not set -->
+    <!--
+    <actionscript-file-encoding></actionscript-file-encoding>
+    -->
+
+    <fonts>
+
+      <!-- Enables advanced anti-aliasing for embedded fonts, which provides 
greater clarity for small -->
+      <!-- fonts. This setting can be overriden in CSS for specific fonts. -->
+      <!-- NOTE: flash-type has been deprecated. Please use 
advanced-anti-aliasing <flash-type>true</flash-type> -->
+      <advanced-anti-aliasing>true</advanced-anti-aliasing>
+
+      <!-- The number of embedded font faces that are cached. -->
+      <max-cached-fonts>20</max-cached-fonts>
+
+      <!-- The number of character glyph outlines to cache for each font face. 
-->
+      <max-glyphs-per-face>1000</max-glyphs-per-face>
+
+      <!-- Defines ranges that can be used across multiple font-face 
declarations. -->
+      <!-- See flash-unicode-table.xml for more examples. -->
+      <!-- not set -->
+      <!--
+      <languages>
+          <language-range>
+              <lang>englishRange</lang>
+              <range>U+0020-007E</range>
+          </language-range>
+      </languages>
+      -->
+
+      <!-- Compiler font manager classes, in policy resolution order -->
+      <!-- NOTE: For Apache Flex -->
+      <!-- AFEFontManager and CFFFontManager both use proprietary technology.  
-->
+      <!-- You must install the optional font jars if you wish to use embedded 
fonts  -->
+      <!-- directly or you can use fontswf to precompile the font as a swf.  
-->
+      <managers>
+        <manager-class>flash.fonts.JREFontManager</manager-class>
+        <manager-class>flash.fonts.BatikFontManager</manager-class>
+        <manager-class>flash.fonts.AFEFontManager</manager-class>
+        <manager-class>flash.fonts.CFFFontManager</manager-class>
+      </managers>
+
+      <!-- File containing cached system font licensing information produced 
via
+           java -cp mxmlc.jar flex2.tools.FontSnapshot (fontpath)
+           Will default to winFonts.ser on Windows XP and
+           macFonts.ser on Mac OS X, so is commented out by default.
+
+      <local-fonts-snapshot>localFonts.ser</local-fonts-snapshot>
+      -->
+
+    </fonts>
+
+    <!-- Array.toString() format has changed. -->
+    <warn-array-tostring-changes>false</warn-array-tostring-changes>
+
+    <!-- Assignment within conditional. -->
+    
<warn-assignment-within-conditional>true</warn-assignment-within-conditional>
+
+    <!-- Possibly invalid Array cast operation. -->
+    <warn-bad-array-cast>true</warn-bad-array-cast>
+
+    <!-- Non-Boolean value used where a Boolean value was expected. -->
+    <warn-bad-bool-assignment>true</warn-bad-bool-assignment>
+
+    <!-- Invalid Date cast operation. -->
+    <warn-bad-date-cast>true</warn-bad-date-cast>
+
+    <!-- Unknown method. -->
+    <warn-bad-es3-type-method>true</warn-bad-es3-type-method>
+
+    <!-- Unknown property. -->
+    <warn-bad-es3-type-prop>true</warn-bad-es3-type-prop>
+
+    <!-- Illogical comparison with NaN. Any comparison operation involving NaN 
will evaluate to false because NaN != NaN. -->
+    <warn-bad-nan-comparison>true</warn-bad-nan-comparison>
+
+    <!-- Impossible assignment to null. -->
+    <warn-bad-null-assignment>true</warn-bad-null-assignment>
+
+    <!-- Illogical comparison with null. -->
+    <warn-bad-null-comparison>true</warn-bad-null-comparison>
+
+    <!-- Illogical comparison with undefined. Only untyped variables (or 
variables of type *) can be undefined. -->
+    <warn-bad-undefined-comparison>true</warn-bad-undefined-comparison>
+
+    <!-- Boolean() with no arguments returns false in ActionScript 3.0. 
Boolean() returned undefined in ActionScript 2.0. -->
+    
<warn-boolean-constructor-with-no-args>false</warn-boolean-constructor-with-no-args>
+
+    <!-- __resolve is no longer supported. -->
+    <warn-changes-in-resolve>false</warn-changes-in-resolve>
+
+    <!-- Class is sealed. It cannot have members added to it dynamically. -->
+    <warn-class-is-sealed>true</warn-class-is-sealed>
+
+    <!-- Constant not initialized. -->
+    <warn-const-not-initialized>true</warn-const-not-initialized>
+
+    <!-- Function used in new expression returns a value. Result will be what 
the -->
+    <!-- function returns, rather than a new instance of that function.        
   -->
+    <warn-constructor-returns-value>false</warn-constructor-returns-value>
+
+    <!-- EventHandler was not added as a listener. -->
+    
<warn-deprecated-event-handler-error>false</warn-deprecated-event-handler-error>
+
+    <!-- Unsupported ActionScript 2.0 function. -->
+    <warn-deprecated-function-error>true</warn-deprecated-function-error>
+
+    <!-- Unsupported ActionScript 2.0 property. -->
+    <warn-deprecated-property-error>true</warn-deprecated-property-error>
+
+    <!-- More than one argument by the same name. -->
+    <warn-duplicate-argument-names>true</warn-duplicate-argument-names>
+
+    <!-- Duplicate variable definition -->
+    <warn-duplicate-variable-def>true</warn-duplicate-variable-def>
+
+    <!-- ActionScript 3.0 iterates over an object's properties within a "for x 
in target" statement in random order. -->
+    <warn-for-var-in-changes>false</warn-for-var-in-changes>
+
+    <!-- Importing a package by the same name as the current class will hide 
that class identifier in this scope. -->
+    <warn-import-hides-class>true</warn-import-hides-class>
+
+    <!-- Use of the instanceof operator. -->
+    <warn-instance-of-changes>true</warn-instance-of-changes>
+
+    <!-- Internal error in compiler. -->
+    <warn-internal-error>true</warn-internal-error>
+
+    <!-- _level is no longer supported. For more information, see the 
flash.display package. -->
+    <warn-level-not-supported>true</warn-level-not-supported>
+
+    <!-- Missing namespace declaration (e.g. variable is not defined to be 
public, private, etc.). -->
+    <warn-missing-namespace-decl>true</warn-missing-namespace-decl>
+
+    <!-- Negative value will become a large positive value when assigned to a 
uint data type. -->
+    <warn-negative-uint-literal>true</warn-negative-uint-literal>
+
+    <!-- Missing constructor. -->
+    <warn-no-constructor>false</warn-no-constructor>
+
+    <!-- The super() statement was not called within the constructor. -->
+    
<warn-no-explicit-super-call-in-constructor>false</warn-no-explicit-super-call-in-constructor>
+
+    <!-- Missing type declaration. -->
+    <warn-no-type-decl>true</warn-no-type-decl>
+
+    <!-- In ActionScript 3.0, white space is ignored and '' returns 0. 
Number() returns -->
+    <!-- NaN in ActionScript 2.0 when the parameter is '' or contains white 
space.      -->
+    <warn-number-from-string-changes>false</warn-number-from-string-changes>
+
+    <!-- Change in scoping for the this keyword. Class methods extracted from 
an  -->
+    <!-- instance of a class will always resolve this back to that instance. 
In   -->
+    <!-- ActionScript 2.0 this is looked up dynamically based on where the 
method -->
+    <!-- is invoked from.                                                      
   -->
+    <warn-scoping-change-in-this>false</warn-scoping-change-in-this>
+
+    <!-- Inefficient use of += on a TextField.-->
+    <warn-slow-text-field-addition>true</warn-slow-text-field-addition>
+
+    <!-- Possible missing parentheses. -->
+    <warn-unlikely-function-value>true</warn-unlikely-function-value>
+
+    <!-- Possible usage of the ActionScript 2.0 XML class. -->
+    <warn-xml-class-has-changed>false</warn-xml-class-has-changed>
+
+#foreach($define in $defines)    <define>
+      <name>$define.name</name>
+      <value>$define.value</value>
+    </define>
+#end
+
+  </compiler>
+
+#if($includeSources)
+  <include-sources>
+#foreach($sourcePath in $sourcePaths)    
<path-element>$sourcePath</path-element>
+#end
+  </include-sources>
+#end
+
+#if($includeClasses)
+  <include-classes>
+#foreach($includeClass in $includeClasses)    <class>$includeClass</class>
+#end
+  </include-classes>
+#end
+
+  <!-- compute-digest: writes a digest to the catalog.xml of a library. Use 
this when the library will be used as a
+                       cross-domain rsl.-->
+  <!-- compute-digest usage:
+  <compute-digest>boolean</compute-digest>
+  -->
+
+  <!-- remove-unused-rsls: remove RSLs that are not being used by the 
application-->
+  <remove-unused-rsls>true</remove-unused-rsls>
+
+  <!-- static-link-runtime-shared-libraries: statically link the libraries 
specified by the -runtime-shared-libraries-path option.-->
+  
<static-link-runtime-shared-libraries>true</static-link-runtime-shared-libraries>
+
+  <!-- target-player: specifies the version of the player the application is 
targeting.
+                      Features requiring a later version will not be compiled 
into the application.
+                      The minimum value supported is "9.0.0".-->
+  <target-player>${targetPlayer}</target-player>
+
+  <!-- Enables SWFs to access the network. -->
+  <use-network>true</use-network>
+
+  <!-- Metadata added to SWFs via the SWF Metadata tag. -->
+  <metadata>
+    <title>Apache FlexJS Application</title>
+    <description>http://flex.apache.org/</description>
+    <publisher>Apache Software Foundation</publisher>
+    <creator>unknown</creator>
+    <language>EN</language>
+  </metadata>
+
+</flex-config>

Reply via email to