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/05/04 13:41:05 UTC

[1/2] git commit: [flex-falcon] [refs/heads/develop] - - Updated the FLexJSToolGroup to use the MXMLFlexJSSWCBackend for COMPC

Repository: flex-falcon
Updated Branches:
  refs/heads/develop 3fe462f0b -> ffd49309b


- Updated the FLexJSToolGroup to use the MXMLFlexJSSWCBackend for COMPC


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

Branch: refs/heads/develop
Commit: e7f73a0a6cd8eb20e1e71e3cace779225e4ec31a
Parents: 3fe462f
Author: Christofer Dutz <ch...@codecentric.de>
Authored: Wed May 4 15:39:53 2016 +0200
Committer: Christofer Dutz <ch...@codecentric.de>
Committed: Wed May 4 15:39:53 2016 +0200

----------------------------------------------------------------------
 .../java/org/apache/flex/compiler/clients/FlexJSToolGroup.java    | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e7f73a0a/compiler-jx/src/main/java/org/apache/flex/compiler/clients/FlexJSToolGroup.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/clients/FlexJSToolGroup.java b/compiler-jx/src/main/java/org/apache/flex/compiler/clients/FlexJSToolGroup.java
index e99a5ab..5d5118b 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/clients/FlexJSToolGroup.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/clients/FlexJSToolGroup.java
@@ -20,6 +20,7 @@
 package org.apache.flex.compiler.clients;
 
 import org.apache.flex.compiler.internal.driver.mxml.flexjs.MXMLFlexJSBackend;
+import org.apache.flex.compiler.internal.driver.mxml.flexjs.MXMLFlexJSSWCBackend;
 import org.apache.flex.tools.AbstractFlexToolGroup;
 
 /**
@@ -29,7 +30,7 @@ public class FlexJSToolGroup extends AbstractFlexToolGroup {
 
     public FlexJSToolGroup() {
         super("FlexJS");
-        addFlexTool(new COMPJSC(new MXMLFlexJSBackend()));
+        addFlexTool(new COMPJSC(new MXMLFlexJSSWCBackend()));
         addFlexTool(new MXMLJSC(new MXMLFlexJSBackend()));
         addFlexTool(new EXTERNC());
     }


[2/2] git commit: [flex-falcon] [refs/heads/develop] - - Added more and more configuration options to the flexjs-maven-plugin

Posted by cd...@apache.org.
- Added more and more configuration options to the flexjs-maven-plugin


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

Branch: refs/heads/develop
Commit: ffd49309b779d0e99f2bedb4a21de5f46409f6ae
Parents: e7f73a0
Author: Christofer Dutz <ch...@codecentric.de>
Authored: Wed May 4 15:40:56 2016 +0200
Committer: Christofer Dutz <ch...@codecentric.de>
Committed: Wed May 4 15:40:56 2016 +0200

----------------------------------------------------------------------
 .../org/apache/flex/maven/flexjs/BaseMojo.java  | 27 +++++--
 .../apache/flex/maven/flexjs/CompileASMojo.java | 17 +++-
 .../flex/maven/flexjs/CompileExternMojo.java    | 26 +++++-
 .../apache/flex/maven/flexjs/CompileJSMojo.java | 41 +++++++++-
 .../org/apache/flex/maven/flexjs/Namespace.java | 27 +++++++
 .../main/resources/config/compile-as-config.xml | 74 ++++++++---------
 .../resources/config/compile-extern-config.xml  | 38 ++++++++-
 .../main/resources/config/compile-js-config.xml | 85 ++++++++------------
 8 files changed, 230 insertions(+), 105 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ffd49309/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 a77c0a1..962ef19 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
@@ -20,10 +20,7 @@ import org.eclipse.aether.RepositorySystemSession;
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.*;
 
 /**
  * Created by christoferdutz on 22.04.16.
@@ -39,6 +36,12 @@ public abstract class BaseMojo
     protected File outputDirectory;
 
     @Parameter
+    private Namespace[] namespaces;
+
+    @Parameter
+    private String[] includeClasses;
+
+    @Parameter
     private String targetPlayer = "11.1";
 
     @Parameter
@@ -68,6 +71,8 @@ public abstract class BaseMojo
         context.put("libraries", libraries);
         context.put("externalLibraries", externalLibraries);
         context.put("sourcePaths", sourcePaths);
+        context.put("namespaces", namespaces);
+        context.put("includeClasses", includeClasses);
         context.put("targetPlayer", targetPlayer);
         context.put("debug", debug);
         context.put("output", getOutput());
@@ -93,6 +98,8 @@ public abstract class BaseMojo
     protected List<String> getCompilerArgs(File configFile) {
         List<String> args = new LinkedList<String>();
         args.add("-load-config=" + configFile.getPath());
+//        args.add("+playerglobal.version=20.0");
+//        args.add("+env.AIR_HOME=20.0");
         return args;
     }
 
@@ -137,13 +144,15 @@ public abstract class BaseMojo
 
         // Get an instance of the compiler and run the build.
         FlexTool tool = toolGroup.getFlexTool(getFlexTool());
-        tool.execute(getCompilerArgs(configFile).toArray(new String[0]));
+        String[] args = getCompilerArgs(configFile).toArray(new String[0]);
+        getLog().info("Executing " + getFlexTool() + " in tool group " + getToolGroupName() + " with args: " + Arrays.toString(args));
+        tool.execute(args);
     }
 
     protected List<Artifact> getLibraries(List<Artifact> artifacts) {
         List<Artifact> libraries = new LinkedList<Artifact>();
         for(Artifact artifact : artifacts) {
-            if(!"external".equalsIgnoreCase(artifact.getScope())) {
+            if(!"external".equalsIgnoreCase(artifact.getScope()) && includeLibrary(artifact)) {
                 libraries.add(artifact);
             }
         }
@@ -153,7 +162,7 @@ public abstract class BaseMojo
     protected List<Artifact> getExternalLibraries(List<Artifact> artifacts) {
         List<Artifact> externalLibraries = new LinkedList<Artifact>();
         for(Artifact artifact : artifacts) {
-            if("external".equalsIgnoreCase(artifact.getScope())) {
+            if("external".equalsIgnoreCase(artifact.getScope()) && includeLibrary(artifact)) {
                 externalLibraries.add(artifact);
             }
         }
@@ -180,4 +189,8 @@ public abstract class BaseMojo
         return artifacts;
     }
 
+    protected boolean includeLibrary(Artifact library) {
+        return true;
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ffd49309/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileASMojo.java
----------------------------------------------------------------------
diff --git a/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileASMojo.java b/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileASMojo.java
index aec0e7d..52db4bb 100644
--- a/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileASMojo.java
+++ b/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileASMojo.java
@@ -17,12 +17,14 @@
 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.LifecyclePhase;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
 
 import java.io.File;
+import java.util.List;
 
 /**
  * goal which compiles a project into a flexjs swc library.
@@ -57,7 +59,15 @@ public class CompileASMojo
 
     @Override
     protected boolean skip() {
-        return true;
+        return false;
+    }
+
+    @Override
+    protected List<String> getCompilerArgs(File configFile) {
+        List<String> args = super.getCompilerArgs(configFile);
+        args.add("-define=COMPILE::AS3,true");
+        args.add("-define=COMPILE::JS,false");
+        return args;
     }
 
     @Override
@@ -70,4 +80,9 @@ public class CompileASMojo
         }
     }
 
+    @Override
+    protected boolean includeLibrary(Artifact library) {
+        return !"extern".equalsIgnoreCase(library.getClassifier());
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ffd49309/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileExternMojo.java
----------------------------------------------------------------------
diff --git a/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileExternMojo.java b/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileExternMojo.java
index 6ad8669..60f3411 100644
--- a/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileExternMojo.java
+++ b/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileExternMojo.java
@@ -17,6 +17,7 @@
 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;
@@ -25,6 +26,7 @@ import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProjectHelper;
 
 import java.io.File;
+import java.util.List;
 
 /**
  * goal which compiles a project into a flexjs swc library.
@@ -60,12 +62,32 @@ public class CompileExternMojo
     }
 
     @Override
+    protected boolean skip() {
+        return false;
+    }
+
+    @Override
+    protected List<String> getCompilerArgs(File configFile) {
+        List<String> args = super.getCompilerArgs(configFile);
+        args.add("-define=COMPILE::AS3,false");
+        args.add("-define=COMPILE::JS,true");
+        return args;
+    }
+
+    @Override
     public void execute() throws MojoExecutionException
     {
         super.execute();
 
-        // Add the extern to the artifact.
-        projectHelper.attachArtifact(project, getOutput(), "extern");
+        if(getOutput().exists()) {
+            // Add the extern to the artifact.
+            projectHelper.attachArtifact(project, getOutput(), "extern");
+        }
+    }
+
+    @Override
+    protected boolean includeLibrary(Artifact library) {
+        return "extern".equalsIgnoreCase(library.getClassifier());
     }
 
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ffd49309/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileJSMojo.java
----------------------------------------------------------------------
diff --git a/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileJSMojo.java b/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileJSMojo.java
index 89b66c9..3e0bcc9 100644
--- a/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileJSMojo.java
+++ b/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/CompileJSMojo.java
@@ -17,11 +17,15 @@
 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.LifecyclePhase;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
 
 import java.io.File;
+import java.util.LinkedList;
+import java.util.List;
 
 /**
  * goal which compiles a project into a flexjs swc library.
@@ -31,9 +35,12 @@ public class CompileJSMojo
     extends BaseMojo
 {
 
-    @Parameter(defaultValue = "${project.artifactId}-${project.version}")
+    @Parameter(defaultValue = "generated-sources/flexjs")
     private String outputDirectoryName;
 
+    @Parameter(defaultValue = "false")
+    private boolean skipSwc;
+
     @Override
     protected String getToolGroupName() {
         return "FlexJS";
@@ -56,6 +63,36 @@ public class CompileJSMojo
 
     @Override
     protected boolean skip() {
-        return true;
+        return false;
+    }
+
+    @Override
+    protected List<String> getCompilerArgs(File configFile) {
+        List<String> args = super.getCompilerArgs(configFile);
+        //args.add("+flexlib=/Users/christoferdutz/Devtools/Apache/apache-flex-4.15.0/frameworks");
+        //args.add("+flexlib=/Users/christoferdutz/Projects/Apache/Flex/flex-asjs/frameworks");
+        args.add("-js-output-type=FLEXJS");
+        args.add("-define=COMPILE::AS3,false");
+        args.add("-define=COMPILE::JS,true");
+        //args.add("-keep-asdoc");
+        return args;
+    }
+
+    @Override
+    public void execute() throws MojoExecutionException {
+        File outputDirectory = getOutput();
+        if(!outputDirectory.exists()) {
+            if(!outputDirectory.mkdirs()) {
+                throw new MojoExecutionException("Could not create output directory " + outputDirectory.getPath());
+            }
+        }
+
+        super.execute();
+    }
+
+    @Override
+    protected boolean includeLibrary(Artifact library) {
+        return "extern".equalsIgnoreCase(library.getClassifier());
     }
+
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ffd49309/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/Namespace.java
----------------------------------------------------------------------
diff --git a/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/Namespace.java b/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/Namespace.java
new file mode 100644
index 0000000..e748863
--- /dev/null
+++ b/flexjs-maven-plugin/src/main/java/org/apache/flex/maven/flexjs/Namespace.java
@@ -0,0 +1,27 @@
+package org.apache.flex.maven.flexjs;
+
+/**
+ * Created by christoferdutz on 01.05.16.
+ */
+public class Namespace {
+
+    private String uri;
+    private String manifest;
+
+    public String getUri() {
+        return uri;
+    }
+
+    public void setUri(String uri) {
+        this.uri = uri;
+    }
+
+    public String getManifest() {
+        return manifest;
+    }
+
+    public void setManifest(String manifest) {
+        this.manifest = manifest;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ffd49309/flexjs-maven-plugin/src/main/resources/config/compile-as-config.xml
----------------------------------------------------------------------
diff --git a/flexjs-maven-plugin/src/main/resources/config/compile-as-config.xml b/flexjs-maven-plugin/src/main/resources/config/compile-as-config.xml
index 7c5bedb..de28c26 100644
--- a/flexjs-maven-plugin/src/main/resources/config/compile-as-config.xml
+++ b/flexjs-maven-plugin/src/main/resources/config/compile-as-config.xml
@@ -23,39 +23,46 @@
         <accessible>true</accessible>
 
         <library-path>
-            #foreach($artifact in $libraries)<path-element>$artifact.file</path-element>#end
+#foreach($artifact in $libraries)            <path-element>$artifact.file</path-element>
+#end
         </library-path>
 
         <external-library-path>
-            #foreach($artifact in $externalLibraries)<path-element>$artifact.file</path-element>#end
+#foreach($artifact in $externalLibraries)            <path-element>$artifact.file</path-element>
+#end
         </external-library-path>
 
+        <source-path>
+#foreach($sourcePath in $sourcePaths)           <path-element>$sourcePath</path-element>
+#end
+        </source-path>
+
         <namespaces>
-            <namespace>
-                <uri>library://ns.adobe.com/flex/spark</uri>
-                <manifest>manifest.xml</manifest>
+#foreach($namespace in $namespaces)            <namespace>
+                <uri>$namespace.uri</uri>
+                <manifest>$namespace.manifest</manifest>
             </namespace>
+#end
         </namespaces>
 
         <keep-as3-metadata>
-            <name>SkinPart</name>
+            <name>Bindable</name>
+            <name>Managed</name>
+            <name>ChangeEvent</name>
+            <name>NonCommittingChangeEvent</name>
+            <name>Transient</name>
         </keep-as3-metadata>
 
         <mxml>
-            <minimum-supported-version>4.0.0</minimum-supported-version>
+            <children-as-data>true</children-as-data>
         </mxml>
 
-        <locale/>
+        <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>
 
-        <source-path>
-            <path-element>../src/main/flex</path-element>
-            <path-element>generated-sources/externc/classes</path-element>
-            <path-element>generated-sources/externc/interfaces</path-element>
-            <path-element>generated-sources/externc/constants</path-element>
-            <path-element>generated-sources/externc/functions</path-element>
-            <path-element>generated-sources/externc/interfaces</path-element>
-            <path-element>generated-sources/externc/typedefs</path-element>
-        </source-path>
+        <locale>
+        </locale>
 
         <warn-no-constructor>false</warn-no-constructor>
 
@@ -70,35 +77,20 @@
     </compiler>
 
     <include-sources>
-        <!--path-element>../src/main/flex</path-element>
-        <path-element>generated-sources/externc/classes</path-element>
-        <path-element>generated-sources/externc/interfaces</path-element>
-        <path-element>generated-sources/externc/constants</path-element>
-        <path-element>generated-sources/externc/functions</path-element>
-        <path-element>generated-sources/externc/interfaces</path-element>
-        <path-element>generated-sources/externc/typedefs</path-element-->
     </include-sources>
 
-    <!--
-    <include-file>
-        <name>defaults.css</name>
-        <path>defaults.css</path>
-    </include-file>
-    <include-file>
-        <name>assets/ErrorIndicator.png</name>
-        <path>assets/ErrorIndicator.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/RequiredIndicator.png</name>
-        <path>assets/RequiredIndicator.png</path>
-    </include-file>
+    <include-classes>
+#foreach($includeClass in $includeClasses)        <class>$includeClass</class>
+#end
+    </include-classes>
 
     <include-namespaces>
-        <uri>library://ns.adobe.com/flex/spark</uri>
+#foreach($namespace in $namespaces)        <uri>$namespace.uri</uri>
+#end
     </include-namespaces>
 
-    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    <target-player>${targetPlayer}</target-player>
+
+    <output>${output}</output>
 
-    <target-player>${playerglobal.version}</target-player>
-     -->
 </flex-config>

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ffd49309/flexjs-maven-plugin/src/main/resources/config/compile-extern-config.xml
----------------------------------------------------------------------
diff --git a/flexjs-maven-plugin/src/main/resources/config/compile-extern-config.xml b/flexjs-maven-plugin/src/main/resources/config/compile-extern-config.xml
index abd46df..60346a1 100644
--- a/flexjs-maven-plugin/src/main/resources/config/compile-extern-config.xml
+++ b/flexjs-maven-plugin/src/main/resources/config/compile-extern-config.xml
@@ -20,7 +20,7 @@
 
     <compiler>
 
-        <accessible>true</accessible>
+        <accessible>false</accessible>
 
         <library-path>
 #foreach($artifact in $libraries)           <path-element>$artifact.file</path-element>
@@ -37,8 +37,32 @@
 #end
         </source-path>
 
+        <namespaces>
+#foreach($namespace in $namespaces)            <namespace>
+                <uri>$namespace.uri</uri>
+                <manifest>$namespace.manifest</manifest>
+            </namespace>
+#end
+        </namespaces>
+
         <warn-no-constructor>false</warn-no-constructor>
 
+        <keep-as3-metadata>
+            <name>Bindable</name>
+            <name>Managed</name>
+            <name>ChangeEvent</name>
+            <name>NonCommittingChangeEvent</name>
+            <name>Transient</name>
+        </keep-as3-metadata>
+
+        <mxml>
+            <children-as-data>true</children-as-data>
+        </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>
+
         <define append="true">
             <name>COMPILE::JS</name>
             <value>true</value>
@@ -50,10 +74,20 @@
     </compiler>
 
     <include-sources>
-#foreach($sourcePath in $sourcePaths)           <path-element>$sourcePath</path-element>
+#foreach($sourcePath in $sourcePaths)        <path-element>$sourcePath</path-element>
 #end
     </include-sources>
 
+    <include-namespaces>
+#foreach($namespace in $namespaces)        <uri>$namespace.uri</uri>
+#end
+    </include-namespaces>
+
+    <include-classes>
+#foreach($includeClass in $includeClasses)        <class>$includeClass</class>
+#end
+    </include-classes>
+
     <output>${output}</output>
 
 </flex-config>

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ffd49309/flexjs-maven-plugin/src/main/resources/config/compile-js-config.xml
----------------------------------------------------------------------
diff --git a/flexjs-maven-plugin/src/main/resources/config/compile-js-config.xml b/flexjs-maven-plugin/src/main/resources/config/compile-js-config.xml
index 8674369..60346a1 100644
--- a/flexjs-maven-plugin/src/main/resources/config/compile-js-config.xml
+++ b/flexjs-maven-plugin/src/main/resources/config/compile-js-config.xml
@@ -20,44 +20,48 @@
 
     <compiler>
 
-        <accessible>true</accessible>
+        <accessible>false</accessible>
 
         <library-path>
-            #foreach($artifact in $libraries)<path-element>$artifact.file</path-element>#end
+#foreach($artifact in $libraries)           <path-element>$artifact.file</path-element>
+#end
         </library-path>
 
         <external-library-path>
-            #foreach($artifact in $externalLibraries)<path-element>$artifact.file</path-element>#end
+#foreach($artifact in $externalLibraries)           <path-element>$artifact.file</path-element>
+#end
         </external-library-path>
 
+        <source-path>
+#foreach($sourcePath in $sourcePaths)           <path-element>$sourcePath</path-element>
+#end
+        </source-path>
+
         <namespaces>
-            <namespace>
-                <uri>library://ns.adobe.com/flex/spark</uri>
-                <manifest>manifest.xml</manifest>
+#foreach($namespace in $namespaces)            <namespace>
+                <uri>$namespace.uri</uri>
+                <manifest>$namespace.manifest</manifest>
             </namespace>
+#end
         </namespaces>
 
+        <warn-no-constructor>false</warn-no-constructor>
+
         <keep-as3-metadata>
-            <name>SkinPart</name>
+            <name>Bindable</name>
+            <name>Managed</name>
+            <name>ChangeEvent</name>
+            <name>NonCommittingChangeEvent</name>
+            <name>Transient</name>
         </keep-as3-metadata>
 
         <mxml>
-            <minimum-supported-version>4.0.0</minimum-supported-version>
+            <children-as-data>true</children-as-data>
         </mxml>
 
-        <locale/>
-
-        <source-path>
-            <path-element>../src/main/flex</path-element>
-            <path-element>generated-sources/externc/classes</path-element>
-            <path-element>generated-sources/externc/interfaces</path-element>
-            <path-element>generated-sources/externc/constants</path-element>
-            <path-element>generated-sources/externc/functions</path-element>
-            <path-element>generated-sources/externc/interfaces</path-element>
-            <path-element>generated-sources/externc/typedefs</path-element>
-        </source-path>
-
-        <warn-no-constructor>false</warn-no-constructor>
+        <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>
 
         <define append="true">
             <name>COMPILE::JS</name>
@@ -67,42 +71,23 @@
             <name>COMPILE::AS3</name>
             <value>false</value>
         </define>
-
-        <js-output-type>FLEXJS</js-output-type>
-
-        <keep-asdoc>true</keep-asdoc>
     </compiler>
 
     <include-sources>
-        <!--path-element>../src/main/flex</path-element>
-        <path-element>generated-sources/externc/classes</path-element>
-        <path-element>generated-sources/externc/interfaces</path-element>
-        <path-element>generated-sources/externc/constants</path-element>
-        <path-element>generated-sources/externc/functions</path-element>
-        <path-element>generated-sources/externc/interfaces</path-element>
-        <path-element>generated-sources/externc/typedefs</path-element-->
+#foreach($sourcePath in $sourcePaths)        <path-element>$sourcePath</path-element>
+#end
     </include-sources>
 
-    <!--
-    <include-file>
-        <name>defaults.css</name>
-        <path>defaults.css</path>
-    </include-file>
-    <include-file>
-        <name>assets/ErrorIndicator.png</name>
-        <path>assets/ErrorIndicator.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/RequiredIndicator.png</name>
-        <path>assets/RequiredIndicator.png</path>
-    </include-file>
-
     <include-namespaces>
-        <uri>library://ns.adobe.com/flex/spark</uri>
+#foreach($namespace in $namespaces)        <uri>$namespace.uri</uri>
+#end
     </include-namespaces>
 
-    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    <include-classes>
+#foreach($includeClass in $includeClasses)        <class>$includeClass</class>
+#end
+    </include-classes>
+
+    <output>${output}</output>
 
-    <target-player>${playerglobal.version}</target-player>
-     -->
 </flex-config>