You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by cd...@apache.org on 2016/06/28 12:13:26 UTC
git commit: [flex-falcon] [refs/heads/develop] - - Added support for
compiling the examples to JavaScript (Currently the build seems to produce
invalid output)
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 <ch...@codecentric.de>
Authored: Tue Jun 28 14:13:14 2016 +0200
Committer: Christofer Dutz <ch...@codecentric.de>
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>