flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aha...@apache.org
Subject git commit: [flex-falcon] [refs/heads/dual] - fix dual mode by changing mappings at the project level instead of in the configuration
Date Sun, 19 Feb 2017 06:47:13 GMT
Repository: flex-falcon
Updated Branches:
  refs/heads/dual 6ae2ed16a -> 2863e767e


fix dual mode by changing mappings at the project level instead of in the configuration


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

Branch: refs/heads/dual
Commit: 2863e767eb4d416e34d3cf376de2f945c82fb4c1
Parents: 6ae2ed1
Author: Alex Harui <aharui@apache.org>
Authored: Sat Feb 18 22:46:23 2017 -0800
Committer: Alex Harui <aharui@apache.org>
Committed: Sat Feb 18 22:46:23 2017 -0800

----------------------------------------------------------------------
 .../apache/flex/compiler/clients/COMPJSC.java   |   9 +-
 .../flex/compiler/clients/JSConfiguration.java  |  91 ++++++++++---
 .../internal/projects/FlexJSProject.java        |  52 +++++++
 .../codegen/js/flexjs/TestFlexJSProject.java    |   4 +-
 .../mxml/flexjs/TestFlexJSMXMLApplication.java  |  17 +--
 .../compiler/internal/test/FlexJSTestBase.java  |   1 +
 .../resources/flexjs/files/CSSTestSource.css    |   6 -
 .../flexjs/files/CSSTestSource_result.css       |  10 --
 .../flexjs/files/MyInitialView_result.js        |   7 +-
 .../flex/compiler/config/Configuration.java     |  11 +-
 .../flex/compiler/config/Configurator.java      |  10 +-
 .../internal/config/FileConfigurator.java       |   1 +
 .../internal/config/TargetSettings.java         |   8 +-
 .../compiler/internal/projects/FlexProject.java |  39 ++++++
 .../flex/compiler/projects/IFlexProject.java    |  19 +++
 env-template.properties                         |   5 +
 .../org/apache/flex/maven/flexjs/BaseMojo.java  |  49 +++++++
 .../apache/flex/maven/flexjs/CompileASMojo.java |  33 ++++-
 .../apache/flex/maven/flexjs/CompileJSMojo.java |  41 ++++--
 .../resources/META-INF/plexus/components.xml    |   1 -
 .../main/resources/config/compile-as-config.xml | 117 ----------------
 .../resources/config/compile-swf-config.xml     | 135 +++++++++++++++++++
 22 files changed, 461 insertions(+), 205 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/compiler-jx/src/main/java/org/apache/flex/compiler/clients/COMPJSC.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/clients/COMPJSC.java b/compiler-jx/src/main/java/org/apache/flex/compiler/clients/COMPJSC.java
index 467b333..614352b 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/clients/COMPJSC.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/clients/COMPJSC.java
@@ -176,6 +176,9 @@ public class COMPJSC extends MXMLJSC
     private int _mainNoExit(final String[] args,
             List<ICompilerProblem> outProblems)
     {
+    	System.out.println("args:");
+    	for (String arg : args)
+    		System.out.println(arg);
         ExitCode exitCode = ExitCode.SUCCESS;
         try
         {
@@ -186,7 +189,9 @@ public class COMPJSC extends MXMLJSC
 
             if (continueCompilation)
             {
-
+            	List<String> targets = config.getCompilerTargets();
+            	for (String target : targets)
+            		System.out.println("target:" + target);
             	targetloop:
             	for (String target : config.getCompilerTargets())
             	{
@@ -194,6 +199,7 @@ public class COMPJSC extends MXMLJSC
             		switch (JSTargetType.fromString(target))
 	                {
 	                case SWF:
+	                	System.out.println("COMPC");
 	                    COMPC compc = new COMPC();
 	                    compc.configurationClass = JSGoogConfiguration.class;
 	                    result = compc.mainNoExit(removeJSArgs(args));
@@ -204,6 +210,7 @@ public class COMPJSC extends MXMLJSC
 	                    }
 	                    break;
 	                case JS_FLEX:
+	                	System.out.println("COMPCJSCFlex");
 	                	COMPJSCFlex flex = new COMPJSCFlex();
 	                    result = flex.mainNoExit(removeASArgs(args), problems.getProblems(), false);
 	                    if (result != 0)

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/compiler-jx/src/main/java/org/apache/flex/compiler/clients/JSConfiguration.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/clients/JSConfiguration.java b/compiler-jx/src/main/java/org/apache/flex/compiler/clients/JSConfiguration.java
index ae614bc..68595e4 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/clients/JSConfiguration.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/clients/JSConfiguration.java
@@ -34,9 +34,11 @@ import org.apache.flex.compiler.exceptions.ConfigurationException;
 import org.apache.flex.compiler.exceptions.ConfigurationException.CannotOpen;
 import org.apache.flex.compiler.internal.config.annotations.Arguments;
 import org.apache.flex.compiler.internal.config.annotations.Config;
+import org.apache.flex.compiler.internal.config.annotations.FlexOnly;
 import org.apache.flex.compiler.internal.config.annotations.InfiniteArguments;
 import org.apache.flex.compiler.internal.config.annotations.Mapping;
 import org.apache.flex.compiler.internal.config.annotations.SoftPrerequisites;
+import org.apache.flex.compiler.internal.mxml.MXMLNamespaceMapping;
 
 import com.google.common.collect.ImmutableList;
 
@@ -79,6 +81,7 @@ public class JSConfiguration extends Configuration
     @InfiniteArguments
     public void setCompilerTargets(ConfigurationValue cv, String[] targetlist)
     {
+        targets.clear();
     	for (String target : targetlist)
     		targets.add(target);
     }
@@ -92,8 +95,10 @@ public class JSConfiguration extends Configuration
     public void setJSOutputType(ConfigurationValue cv, String value)
             throws ConfigurationException
     {
-         targets.clear();
-         targets.add(value);
+    	// ignore if set via compiler.targets
+    	if (targets.size() > 0) return;
+        targets.clear();
+        targets.add(value);
     }
 
     //
@@ -121,12 +126,9 @@ public class JSConfiguration extends Configuration
 
     private final List<String> jsexternalLibraryPath = new ArrayList<String>();
 
-    @Override
-    public List<String> getCompilerExternalLibraryPath()
+    public List<String> getCompilerJsExternalLibraryPath()
     {
-    	if (jsexternalLibraryPath.size() > 0)
-    		return jsexternalLibraryPath;
-    	return super.getCompilerExternalLibraryPath();
+    	return jsexternalLibraryPath;
     }
 
     @Config(allowMultiple = true, isPath = true)
@@ -147,12 +149,9 @@ public class JSConfiguration extends Configuration
 
     private final List<String> jslibraryPath = new ArrayList<String>();
 
-    @Override
-    public List<String> getCompilerLibraryPath()
+    public List<String> getCompilerJsLibraryPath()
     {
-    	if (jslibraryPath.size() > 0)
-    		return jslibraryPath;
-    	return super.getCompilerLibraryPath();
+    	return jslibraryPath;
     }
 
     /**
@@ -287,16 +286,6 @@ public class JSConfiguration extends Configuration
         this.jsoutput = getOutputPath(val, output);
     }
 
-    @Override
-    protected String overrideDefinedValue(String name, String value)
-    {
-    	if (name.equals("COMPILE::SWF") && value.equals("AUTO"))
-    		return "false";
-    	if (name.equals("COMPILE::JS") && value.equals("AUTO"))
-    		return "true";
-    	return value;
-    }
-
     /**
      * @return JS equivalent of -load-config
      */
@@ -314,4 +303,62 @@ public class JSConfiguration extends Configuration
     {
         
     }
+    
+    //////////////////////////////////////////////////////////////////////////
+    // compiler.js-namespaces
+    //////////////////////////////////////////////////////////////////////////
+
+    private List<MXMLNamespaceMapping> jsmanifestMappings;
+
+    public List<MXMLNamespaceMapping> getCompilerJsNamespacesManifestMappings()
+    {
+        return jsmanifestMappings;
+    }
+
+    /**
+     * Configures a list of many manifests mapped to a single namespace URI.
+     * <namespace> <uri>library:adobe/flex/something</uri> <manifest>something-manifest.xml</manifest>
+     * <manifest>something-else-manifest.xml</manifest> ... </namespace>
+     * 
+     * @param cfgval The configuration value context.
+     * @param args A List of values for the namespace element, with the first item expected to be the uri and the
+     *        remaining are manifest paths.
+     */
+    @Config(allowMultiple = true)
+    @Mapping({ "compiler", "js-namespaces", "namespace" })
+    @Arguments({ "uri", "manifest" })
+    @InfiniteArguments
+    @FlexOnly
+    public void setCompilerJsNamespacesNamespace(ConfigurationValue cfgval, List<String> args)
+            throws ConfigurationException
+    {
+        if (args == null)
+            throw new ConfigurationException.CannotOpen(null, cfgval.getVar(), cfgval.getSource(), cfgval.getLine());
+
+        // allow -compiler.namespaces.namespace= which means don't add
+        // anything, which matches the behavior of things like -compiler.library-path
+        // which don't throw an error in this case either.
+        if (args.isEmpty())
+            return;
+
+        if (args.size() < 2)
+            throw new ConfigurationException.NamespaceMissingManifest("namespace", cfgval.getSource(),
+                    cfgval.getLine());
+
+        if (args.size() % 2 != 0)
+            throw new ConfigurationException.IncorrectArgumentCount(args.size() + 1, args.size(), cfgval.getVar(),
+                    cfgval.getSource(), cfgval.getLine());
+
+        if (jsmanifestMappings == null)
+            jsmanifestMappings = new ArrayList<MXMLNamespaceMapping>();
+
+        for (int i = 0; i < args.size() - 1; i += 2)
+        {
+            final String uri = args.get(i);
+            final String manifestFile = args.get(i + 1);
+            final String path = resolvePathStrict(manifestFile, cfgval);
+            jsmanifestMappings.add(new MXMLNamespaceMapping(uri, path));
+        }
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/compiler-jx/src/main/java/org/apache/flex/compiler/internal/projects/FlexJSProject.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/projects/FlexJSProject.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/projects/FlexJSProject.java
index e34d6ef..f90d2ac 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/projects/FlexJSProject.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/projects/FlexJSProject.java
@@ -23,10 +23,13 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 
+import org.apache.flex.compiler.clients.JSConfiguration;
 import org.apache.flex.compiler.common.DependencyType;
+import org.apache.flex.compiler.config.Configuration;
 import org.apache.flex.compiler.config.Configurator;
 import org.apache.flex.compiler.definitions.IDefinition;
 import org.apache.flex.compiler.definitions.metadata.IMetaTag;
@@ -37,6 +40,7 @@ import org.apache.flex.compiler.internal.css.codegen.CSSCompilationSession;
 import org.apache.flex.compiler.internal.definitions.InterfaceDefinition;
 import org.apache.flex.compiler.internal.driver.js.flexjs.JSCSSCompilationSession;
 import org.apache.flex.compiler.internal.driver.js.goog.JSGoogConfiguration;
+import org.apache.flex.compiler.internal.mxml.MXMLNamespaceMapping;
 import org.apache.flex.compiler.internal.scopes.ASProjectScope.DefinitionPromise;
 import org.apache.flex.compiler.internal.targets.ITargetAttributes;
 import org.apache.flex.compiler.internal.targets.LinkageChecker;
@@ -363,4 +367,52 @@ public class FlexJSProject extends FlexProject
         return backend;
     }
 
+    @Override
+    protected void overrideDefines(Map<String, String> defines)
+    {
+    	if (defines.containsKey("COMPILE::SWF"))
+    	{
+    		if (defines.get("COMPILE::SWF").equals("AUTO"))
+    			defines.put("COMPILE::SWF", "false");
+    	}
+    	if (defines.containsKey("COMPILE::JS"))
+    	{
+    		if (defines.get("COMPILE::JS").equals("AUTO"))
+    			defines.put("COMPILE::JS", "true");
+    	}
+    }
+
+    /**
+     * List of external libraries so it can be overridden
+     */
+    public List<String> getCompilerExternalLibraryPath(Configuration config)
+    {
+    	List<String> list = ((JSConfiguration)config).getCompilerJsExternalLibraryPath();
+    	if (list != null && list.size() > 0)
+    		return list;
+    	return config.getCompilerExternalLibraryPath();
+    }
+
+    /**
+     * List of libraries so it can be overridden
+     */
+    public List<String> getCompilerLibraryPath(Configuration config)
+    {
+    	List<String> list = ((JSConfiguration)config).getCompilerJsLibraryPath();
+    	if (list != null && list.size() > 0)
+    		return list;
+    	return config.getCompilerLibraryPath();
+    }
+    
+    /**
+     * List of libraries so it can be overridden
+     */
+    public List<MXMLNamespaceMapping> getCompilerNamespacesManifestMappings(Configuration config)
+    {
+    	List<MXMLNamespaceMapping> list = ((JSConfiguration)config).getCompilerJsNamespacesManifestMappings();
+    	if (list != null && list.size() > 0)
+    		return list;
+    	return config.getCompilerNamespacesManifestMappings();
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSProject.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSProject.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSProject.java
index dbdb67c..019c271 100644
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSProject.java
+++ b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSProject.java
@@ -157,7 +157,7 @@ public class TestFlexJSProject extends TestGoogProject
 		} catch (ConfigurationException e) {
             Assert.fail(e.getMessage());
 		}
-        project.setTargetSettings(new TargetSettings(((FlexJSProject)project).config));
+        project.setTargetSettings(new TargetSettings(((FlexJSProject)project).config, (FlexJSProject)project));
         
         sourcePath = new File(TestAdapterFactory.getTestAdapter().getUnitTestBaseDir(),
                 projectDirPath + "/overrides").getPath();
@@ -180,7 +180,7 @@ public class TestFlexJSProject extends TestGoogProject
 		} catch (ConfigurationException e) {
             Assert.fail(e.getMessage());
 		}
-        project.setTargetSettings(new TargetSettings(((FlexJSProject)project).config));
+        project.setTargetSettings(new TargetSettings(((FlexJSProject)project).config, (FlexJSProject)project));
         
         sourcePath = new File(TestAdapterFactory.getTestAdapter().getUnitTestBaseDir(),
                 projectDirPath + "/bad_overrides").getPath();

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/TestFlexJSMXMLApplication.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/TestFlexJSMXMLApplication.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/TestFlexJSMXMLApplication.java
index 0f4e0de..6e14c10 100644
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/TestFlexJSMXMLApplication.java
+++ b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/TestFlexJSMXMLApplication.java
@@ -794,17 +794,18 @@ public class TestFlexJSMXMLApplication extends FlexJSTestBase
     public void testFlexJSMainFileDual()
     {
         MXMLJSC mxmlc = new MXMLJSC();
-        String[] args = new String[7];
+        String[] args = new String[8];
         args[0] = "-compiler.targets=SWF,JSFlex";
-        args[1] = "-remove-circulars";
-        args[2] = "-library-path=" + new File(FilenameNormalization.normalize(env.ASJS + "/frameworks/libs")).getPath();
-        args[3] = "-external-library-path+=" + testAdapter.getPlayerglobal().getPath();
-        args[4] = "-output=" + new File(testAdapter.getTempDir(), "bin-debug/FlexJSTest_again.swf").getPath();
+        args[1] = "-compiler.allow-subclass-overrides";
+        args[2] = "-remove-circulars";
+        args[3] = "-library-path=" + new File(FilenameNormalization.normalize(env.ASJS + "/frameworks/libs")).getPath();
+        args[4] = "-external-library-path+=" + testAdapter.getPlayerglobal().getPath();
+        args[5] = "-output=" + new File(testAdapter.getTempDir(), "bin-debug/FlexJSTest_again.swf").getPath();
         if (env.GOOG != null)
-        	args[5] = "-closure-lib=" + new File(FilenameNormalization.normalize(env.GOOG)).getPath();
+        	args[6] = "-closure-lib=" + new File(FilenameNormalization.normalize(env.GOOG)).getPath();
         else
-        	args[5] = "-define=COMPILE::temp,false";
-        args[6] = new File(testAdapter.getUnitTestBaseDir(), "flexjs/files/FlexJSTest_again.mxml").getPath();
+        	args[6] = "-define=COMPILE::temp,false";
+        args[7] = new File(testAdapter.getUnitTestBaseDir(), "flexjs/files/FlexJSTest_again.mxml").getPath();
 
         ArrayList<ICompilerProblem> problems = new ArrayList<ICompilerProblem>();
         int result = mxmlc.mainNoExit(args, problems, true);

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/compiler-jx/src/test/java/org/apache/flex/compiler/internal/test/FlexJSTestBase.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/test/FlexJSTestBase.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/test/FlexJSTestBase.java
index c3f379c..2627a48 100644
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/test/FlexJSTestBase.java
+++ b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/test/FlexJSTestBase.java
@@ -63,6 +63,7 @@ public class FlexJSTestBase extends TestBase
         libraries.add(new File(FilenameNormalization.normalize(env.SDK
                 + "\\frameworks\\libs\\rpc.swc")));
         libraries.add(new File(env.ASJS + "/frameworks/libs/Core.swc"));
+        libraries.add(new File(env.ASJS + "/frameworks/libs/Basic.swc"));
         libraries.add(new File(env.ASJS + "/frameworks/libs/HTML.swc"));
         libraries.add(new File(env.ASJS + "/frameworks/libs/Binding.swc"));
         libraries.add(new File(env.ASJS + "/frameworks/libs/Network.swc"));

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/compiler-jx/src/test/resources/flexjs/files/CSSTestSource.css
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/resources/flexjs/files/CSSTestSource.css b/compiler-jx/src/test/resources/flexjs/files/CSSTestSource.css
index 8b48967..f18dc6f 100755
--- a/compiler-jx/src/test/resources/flexjs/files/CSSTestSource.css
+++ b/compiler-jx/src/test/resources/flexjs/files/CSSTestSource.css
@@ -22,12 +22,6 @@
 @namespace basic "library://ns.apache.org/flexjs/basic";
 @namespace "http://www.w3.org/1999/xhtml";
 
-table.tableSection tr>td:last-child
-{ /* removing fraction of width i.e 2% to align the tbody columns with thead columns. */ /* It is must as we need to consider the tbody scroll width too */ /* if the width is in pixels, then (width - 18px) would be enough */ width: 31%; }
-/** for older browsers (IE8), if you know number of columns in your table **/
-table.tableSection tr>td:first-child + td + td
-{ width : 31%; }
-
 /*
 //----------------------------
 // Named styles

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/compiler-jx/src/test/resources/flexjs/files/CSSTestSource_result.css
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/resources/flexjs/files/CSSTestSource_result.css b/compiler-jx/src/test/resources/flexjs/files/CSSTestSource_result.css
index 8cedccd..6a17c84 100755
--- a/compiler-jx/src/test/resources/flexjs/files/CSSTestSource_result.css
+++ b/compiler-jx/src/test/resources/flexjs/files/CSSTestSource_result.css
@@ -19,16 +19,6 @@
 ////////////////////////////////////////////////////////////////////////////////
 */
 /* Generated by Apache Flex Cross-Compiler */
-table.tableSection tr>td:last-child {
-        width: 31%;
-}
-
-
-table.tableSection tr>td:first-child + td + td {
-        width : 31%;
-}
-
-
 .glass {
         border-color: #767473;
         highlight-alphas: .07 .45;

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/compiler-jx/src/test/resources/flexjs/files/MyInitialView_result.js
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/resources/flexjs/files/MyInitialView_result.js b/compiler-jx/src/test/resources/flexjs/files/MyInitialView_result.js
index 1bc0837..f3bd88d 100644
--- a/compiler-jx/src/test/resources/flexjs/files/MyInitialView_result.js
+++ b/compiler-jx/src/test/resources/flexjs/files/MyInitialView_result.js
@@ -222,9 +222,8 @@ MyInitialView.prototype.timer;
 
 /**
  * @export
- * @param {org.apache.flex.events.Event} event
  */
-MyInitialView.prototype.startTimer = function(event) {
+MyInitialView.prototype.startTimer = function() {
   this.timer = new org.apache.flex.utils.Timer(1000);
   this.timer.addEventListener('timer', org.apache.flex.utils.Language.closure(this.timerHandler, this, 'timerHandler'));
   this.timer.start();
@@ -282,7 +281,7 @@ get: MyInitialView.prototype.get__comboBoxValue}}
  */
 MyInitialView.prototype.$EH0 = function(event)
 {
-  this.startTimer(event);
+  this.startTimer();
 };
 
 
@@ -880,7 +879,7 @@ MyInitialView.prototype.FLEXJS_REFLECTION_INFO = function () {
     },
     methods: function () {
       return {
-        'startTimer': { type: 'void', declaredBy: 'MyInitialView', parameters: function () { return [  { index: 1, type: 'org.apache.flex.events.Event', optional: false } ]; }},
+        'startTimer': { type: 'void', declaredBy: 'MyInitialView'},
         'timerHandler': { type: 'void', declaredBy: 'MyInitialView', parameters: function () { return [  { index: 1, type: 'org.apache.flex.events.Event', optional: false } ]; }},
         'MyInitialView': { type: '', declaredBy: 'MyInitialView'},
         '$EH0': { type: 'void', declaredBy: 'MyInitialView'},

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java
----------------------------------------------------------------------
diff --git a/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java b/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java
index f206e47..6e77b97 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java
@@ -1870,16 +1870,7 @@ public class Configuration
         if (configVars == null)
             configVars = new LinkedHashMap<String, String>();
 
-        configVars.put(name, overrideDefinedValue(name, value));
-    }
-
-    protected String overrideDefinedValue(String name, String value)
-    {
-    	if (name.equals("COMPILE::SWF") && value.equals("AUTO"))
-    		return "true";
-    	if (name.equals("COMPILE::JS") && value.equals("AUTO"))
-    		return "false";
-    	return value;
+        configVars.put(name, value);
     }
     
     //

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/compiler/src/main/java/org/apache/flex/compiler/config/Configurator.java
----------------------------------------------------------------------
diff --git a/compiler/src/main/java/org/apache/flex/compiler/config/Configurator.java b/compiler/src/main/java/org/apache/flex/compiler/config/Configurator.java
index 55d23ff..4f53b62 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/config/Configurator.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/config/Configurator.java
@@ -287,6 +287,7 @@ public class Configurator implements ICompilerSettings, IConfigurator, ICompiler
     private Collection<ICompilerProblem> configurationProblems;
     private boolean extrasRequireDefaultVariable;
     private IPathResolver configurationPathResolver;
+    private IFlexProject project;
 
     // 
     // IConfigurator related methods
@@ -309,6 +310,7 @@ public class Configurator implements ICompilerSettings, IConfigurator, ICompiler
     @Override
     public boolean applyToProject(IFlexProject project)
     {
+    	this.project = project;
         final IWorkspace workspace = project.getWorkspace();
         boolean success = processConfiguration();
         workspace.startIdleState();
@@ -426,7 +428,7 @@ public class Configurator implements ICompilerSettings, IConfigurator, ICompiler
             return null;
         }
         
-        return new TargetSettings(configuration);
+        return new TargetSettings(configuration, project);
     }
 
     @Override    
@@ -595,7 +597,7 @@ public class Configurator implements ICompilerSettings, IConfigurator, ICompiler
         LinkedHashSet<File> libraries = new LinkedHashSet<File>();
         
         // add External Library Path
-        List<File> externalLibraryFiles = toFileList(configuration.getCompilerExternalLibraryPath()); 
+        List<File> externalLibraryFiles = toFileList(project.getCompilerExternalLibraryPath(configuration)); 
         libraries.addAll(externalLibraryFiles);
         
         // add RSLs
@@ -605,7 +607,7 @@ public class Configurator implements ICompilerSettings, IConfigurator, ICompiler
         libraries.addAll(toFileList(configuration.getCompilerIncludeLibraries()));
         
         // add Library Path
-        libraries.addAll(toFileList(configuration.getCompilerLibraryPath()));
+        libraries.addAll(toFileList(project.getCompilerLibraryPath(configuration)));
         
         project.setLibraries(new ArrayList<File>(libraries));
         
@@ -801,7 +803,7 @@ public class Configurator implements ICompilerSettings, IConfigurator, ICompiler
     protected void setupNamespaces(IFlexProject project)
     {
         final List<? extends IMXMLNamespaceMapping> configManifestMappings =
-                configuration.getCompilerNamespacesManifestMappings();
+                project.getCompilerNamespacesManifestMappings(configuration);
         if (configManifestMappings != null)
         {
             project.setNamespaceMappings(configManifestMappings);

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/compiler/src/main/java/org/apache/flex/compiler/internal/config/FileConfigurator.java
----------------------------------------------------------------------
diff --git a/compiler/src/main/java/org/apache/flex/compiler/internal/config/FileConfigurator.java b/compiler/src/main/java/org/apache/flex/compiler/internal/config/FileConfigurator.java
index 89e015f..cbd9c4a 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/internal/config/FileConfigurator.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/internal/config/FileConfigurator.java
@@ -456,6 +456,7 @@ public class FileConfigurator
     protected static final ImmutableSet<String> VALID_SUBTREE_TAG = ImmutableSet.of(
             "compiler",
             "compiler.namespaces",
+            "compiler.js-namespaces",
             "compiler.fonts",
             "compiler.fonts.languages",
             "compiler.mxml",

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/compiler/src/main/java/org/apache/flex/compiler/internal/config/TargetSettings.java
----------------------------------------------------------------------
diff --git a/compiler/src/main/java/org/apache/flex/compiler/internal/config/TargetSettings.java b/compiler/src/main/java/org/apache/flex/compiler/internal/config/TargetSettings.java
index 3776606..61ac6fd 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/internal/config/TargetSettings.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/internal/config/TargetSettings.java
@@ -34,6 +34,7 @@ import org.apache.flex.compiler.config.Configuration;
 import org.apache.flex.compiler.config.Configurator;
 import org.apache.flex.compiler.config.RSLSettings;
 import org.apache.flex.compiler.internal.projects.LibraryPathManager;
+import org.apache.flex.compiler.projects.IFlexProject;
 import org.apache.flex.compiler.targets.ITargetSettings;
 import org.apache.flex.utils.FilenameNormalization;
 import com.google.common.collect.ImmutableList;
@@ -46,9 +47,10 @@ import com.google.common.collect.ImmutableList;
  */
 public class TargetSettings implements ITargetSettings
 {
-    public TargetSettings(Configuration configuration)
+    public TargetSettings(Configuration configuration, IFlexProject project)
     {
         this.configuration = configuration;
+        this.project = project;
     }
 
     private File output;
@@ -62,6 +64,7 @@ public class TargetSettings implements ITargetSettings
     private Map<String, File> includeFiles;
     
     private final Configuration configuration;
+    private final IFlexProject project;
     
     private Set<String> externalLinkageLibraries;
     
@@ -374,7 +377,8 @@ public class TargetSettings implements ITargetSettings
     {
         if (externalLibraryPath == null)
         {
-            List<File> files = Configurator.toFileList(configuration.getCompilerExternalLibraryPath());
+            List<File> files = Configurator.toFileList(project != null ? project.getCompilerExternalLibraryPath(configuration) : 
+            												configuration.getCompilerExternalLibraryPath());
             Set<File> expandedFiles = LibraryPathManager.discoverSWCFilePathsAsFiles(files.toArray(new File[files.size()]));
 
             externalLibraryPath = new ArrayList<File>(expandedFiles.size());

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProject.java
----------------------------------------------------------------------
diff --git a/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProject.java b/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProject.java
index 5944ec0..5ba8cdd 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProject.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProject.java
@@ -39,6 +39,7 @@ import org.apache.flex.abc.semantics.Name;
 import org.apache.flex.compiler.asdoc.IASDocBundleDelegate;
 import org.apache.flex.compiler.common.DependencyTypeSet;
 import org.apache.flex.compiler.common.XMLName;
+import org.apache.flex.compiler.config.Configuration;
 import org.apache.flex.compiler.config.RSLSettings;
 import org.apache.flex.compiler.constants.IASLanguageConstants;
 import org.apache.flex.compiler.constants.IMetaAttributeConstants;
@@ -1774,12 +1775,27 @@ public class FlexProject extends ASProject implements IFlexProject
     @Override
     public void setDefineDirectives(Map<String, String> defines)
     {
+    	overrideDefines(defines);
         // TODO: This seems strange. Each call to the setter
         // adds new defines. How do you get rid of the old ones?
         addConfigVariables(defines);
         clean();
     }
 
+    protected void overrideDefines(Map<String, String> defines)
+    {
+    	if (defines.containsKey("COMPILE::SWF"))
+    	{
+    		if (defines.get("COMPILE::SWF").equals("AUTO"))
+    			defines.put("COMPILE::SWF", "true");
+    	}
+    	if (defines.containsKey("COMPILE::JS"))
+    	{
+    		if (defines.get("COMPILE::JS").equals("AUTO"))
+    			defines.put("COMPILE::JS", "false");
+    	}
+    }
+    
     @Override
     public void setExtensionLibraries(Map<File, List<String>> extensions)
     {
@@ -2317,4 +2333,27 @@ public class FlexProject extends ASProject implements IFlexProject
         return false;
     }
 
+    /**
+     * List of external libraries so it can be overridden
+     */
+    public List<String> getCompilerExternalLibraryPath(Configuration config)
+    {
+    	return config.getCompilerExternalLibraryPath();
+    }
+
+    /**
+     * List of libraries so it can be overridden
+     */
+    public List<String> getCompilerLibraryPath(Configuration config)
+    {
+    	return config.getCompilerLibraryPath();
+    }
+
+    /**
+     * List of libraries so it can be overridden
+     */
+    public List<MXMLNamespaceMapping> getCompilerNamespacesManifestMappings(Configuration config)
+    {
+    	return config.getCompilerNamespacesManifestMappings();
+    }
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/compiler/src/main/java/org/apache/flex/compiler/projects/IFlexProject.java
----------------------------------------------------------------------
diff --git a/compiler/src/main/java/org/apache/flex/compiler/projects/IFlexProject.java b/compiler/src/main/java/org/apache/flex/compiler/projects/IFlexProject.java
index 2e61677..937c259 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/projects/IFlexProject.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/projects/IFlexProject.java
@@ -27,11 +27,13 @@ import java.util.Set;
 
 import org.apache.flex.compiler.common.DependencyTypeSet;
 import org.apache.flex.compiler.common.XMLName;
+import org.apache.flex.compiler.config.Configuration;
 import org.apache.flex.compiler.config.RSLSettings;
 import org.apache.flex.compiler.css.ICSSManager;
 import org.apache.flex.compiler.exceptions.LibraryCircularDependencyException;
 import org.apache.flex.compiler.internal.config.IWriteOnlyProjectSettings;
 import org.apache.flex.compiler.internal.css.CSSManager;
+import org.apache.flex.compiler.internal.mxml.MXMLNamespaceMapping;
 import org.apache.flex.compiler.mxml.IMXMLNamespaceMapping;
 import org.apache.flex.compiler.mxml.IXMLNameResolver;
 import org.apache.flex.compiler.targets.ISWCTarget;
@@ -205,4 +207,21 @@ public interface IFlexProject extends IASProject, IXMLNameResolver, IWriteOnlyPr
      * <code>"library://ns.adobe.com/flex/spark"</code>.
      */
     Collection<XMLName> getTagNamesForClass(String className);
+    
+    /**
+     * List of external libraries so it can be overridden
+     */
+    List<String> getCompilerExternalLibraryPath(Configuration config);
+
+    /**
+     * List of libraries so it can be overridden
+     */
+    List<String> getCompilerLibraryPath(Configuration config);
+
+    /**
+     * List of external libraries so it can be overridden
+     */
+    List<MXMLNamespaceMapping> getCompilerNamespacesManifestMappings(Configuration config);
+
+
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/env-template.properties
----------------------------------------------------------------------
diff --git a/env-template.properties b/env-template.properties
index 9a1f083..1afc86a 100644
--- a/env-template.properties
+++ b/env-template.properties
@@ -105,6 +105,11 @@
 #env.ASJS_HOME=
 
 #
+# Set this to the directory that contains Google Closure Library
+#
+#env.GOOG_HOME=
+
+#
 # If you use a player global that is different that the default of 11.0,
 # you need to set it here.
 #env.PLAYERGLOBAL_VERSION=21.0
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/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 e040c2b..315c8c1 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
@@ -115,14 +115,19 @@ public abstract class BaseMojo
                 project, repositorySystemSession, projectDependenciesResolver);
         List<Artifact> filteredLibraries = getFilteredLibraries(allLibraries);
         List<Artifact> libraries = getLibraries(filteredLibraries);
+        List<Artifact> jsLibraries = getJSLibraries(filteredLibraries);
         List<Artifact> externalLibraries = getExternalLibraries(filteredLibraries);
+        List<Artifact> jsExternalLibraries = getJSExternalLibraries(filteredLibraries);
         List<Artifact> themeLibraries = getThemeLibraries(filteredLibraries);
         List<String> sourcePaths = getSourcePaths();
         context.put("libraries", libraries);
         context.put("externalLibraries", externalLibraries);
+        context.put("jsLibraries", jsLibraries);
+        context.put("jsExternalLibraries", jsExternalLibraries);
         context.put("themeLibraries", themeLibraries);
         context.put("sourcePaths", sourcePaths);
         context.put("namespaces", getNamespaces());
+        context.put("jsNamespaces", getNamespacesJS());
         context.put("namespaceUris", getNamespaceUris());
         context.put("includeClasses", includeClasses);
         context.put("includeFiles", includeFiles);
@@ -154,6 +159,16 @@ public abstract class BaseMojo
         return namespaces;
     }
 
+    protected List<Namespace> getNamespacesJS() {
+        List<Namespace> namespaces = new LinkedList<Namespace>();
+        if(this.namespaces != null) {
+            for (Namespace namespace : this.namespaces) {
+                namespaces.add(namespace);
+            }
+        }
+        return namespaces;
+    }
+    
     protected Set<String> getNamespaceUris() {
         Set<String> namespaceUris = new HashSet<String>();
         for(Namespace namespace : getNamespaces()) {
@@ -302,6 +317,10 @@ public abstract class BaseMojo
         return Collections.emptyList();
     }
 
+    protected List<Artifact> getJSLibraries(List<Artifact> artifacts) {
+        return internalGetLibrariesJS(artifacts);
+    }
+    
     protected List<Artifact> getThemeLibraries(List<Artifact> artifacts) {
         List<Artifact> themeLibraries = new LinkedList<Artifact>();
         for(Artifact artifact : artifacts) {
@@ -328,6 +347,19 @@ public abstract class BaseMojo
         return externalLibraries;
     }
 
+    protected List<Artifact> getJSExternalLibraries(List<Artifact> artifacts) {
+        List<Artifact> externalLibraries = new LinkedList<Artifact>();
+        for(Artifact artifact : artifacts) {
+            if(("provided".equalsIgnoreCase(artifact.getScope()) || "runtime".equalsIgnoreCase(artifact.getScope()))
+               && includeLibraryJS(artifact)) {
+                if(!"pom".equals(artifact.getType())) {
+                    externalLibraries.add(artifact);
+                }
+            }
+        }
+        return externalLibraries;
+    }
+    
     protected boolean isForceSwcExternalLibraryPath() {
         return forceSwcExternalLibraryPath;
     }
@@ -345,6 +377,19 @@ public abstract class BaseMojo
         return libraries;
     }
 
+    private List<Artifact> internalGetLibrariesJS(List<Artifact> artifacts) {
+        List<Artifact> libraries = new LinkedList<Artifact>();
+        for (Artifact artifact : artifacts) {
+            if (!("provided".equalsIgnoreCase(artifact.getScope()) || "runtime".equalsIgnoreCase(artifact.getScope()))
+                && includeLibraryJS(artifact)) {
+                if(!"pom".equals(artifact.getType())) {
+                    libraries.add(artifact);
+                }
+            }
+        }
+        return libraries;
+    }
+
     protected List<Define> getDefines() throws MojoExecutionException {
         List<Define> defines = new LinkedList<Define>();
         if(this.defines != null) {
@@ -359,4 +404,8 @@ public abstract class BaseMojo
         return true;
     }
 
+    protected boolean includeLibraryJS(Artifact library) {
+        return true;
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/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 a32200b..74406ae 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
@@ -44,7 +44,7 @@ public class CompileASMojo
 
     @Override
     protected String getToolGroupName() {
-        return "Falcon";
+        return "FlexJS";
     }
 
     @Override
@@ -54,7 +54,7 @@ public class CompileASMojo
 
     @Override
     protected String getConfigFileName() throws MojoExecutionException {
-        return "compile-as-config.xml";
+        return "compile-swf-config.xml";
     }
 
     @Override
@@ -78,6 +78,14 @@ public class CompileASMojo
     }
 
     @Override
+    protected List<String> getCompilerArgs(File configFile) throws MojoExecutionException {
+        List<String> args = super.getCompilerArgs(configFile);
+        args.add("-compiler.targets=SWF,JSFlex");
+        args.add("-compiler.strict-xml=true");
+        return args;
+    }
+
+    @Override
     protected List<Namespace> getNamespaces() {
         List<Namespace> namespaces = new LinkedList<Namespace>();
         for(Namespace namespace : super.getNamespaces()) {
@@ -89,10 +97,21 @@ public class CompileASMojo
     }
 
     @Override
+    protected List<Namespace> getNamespacesJS() {
+        List<Namespace> namespaces = new LinkedList<Namespace>();
+        for(Namespace namespace : super.getNamespaces()) {
+            if(namespace.getType().equals(Namespace.TYPE_DEFAULT) || namespace.getType().equals(Namespace.TYPE_JS)) {
+                namespaces.add(namespace);
+            }
+        }
+        return namespaces;
+    }
+    
+    @Override
     protected List<Define> getDefines() throws MojoExecutionException {
         List<Define> defines = super.getDefines();
-        defines.add(new Define("COMPILE::JS", "false"));
-        defines.add(new Define("COMPILE::SWF", "true"));
+        defines.add(new Define("COMPILE::JS", "AUTO"));
+        defines.add(new Define("COMPILE::SWF", "AUTO"));
         return defines;
     }
 
@@ -100,5 +119,11 @@ public class CompileASMojo
     protected boolean includeLibrary(Artifact library) {
         return !"typedefs".equalsIgnoreCase(library.getClassifier());
     }
+    
+    @Override
+    protected boolean includeLibraryJS(Artifact library) {
+        return "typedefs".equalsIgnoreCase(library.getClassifier());
+    }
+
 
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/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 03a0f63..71cf6f4 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,9 +17,12 @@ 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.util.LinkedList;
@@ -33,7 +36,7 @@ public class CompileJSMojo
     extends BaseMojo
 {
 
-    @Parameter(defaultValue = "${project.artifactId}-${project.version}.swc")
+    @Parameter(defaultValue = "${project.artifactId}-${project.version}-js.swc")
     private String outputFileName;
 
     @Parameter(defaultValue = "false")
@@ -42,6 +45,9 @@ public class CompileJSMojo
     @Parameter(defaultValue = "false")
     private boolean skipJS;
 
+    @Component
+    private MavenProjectHelper projectHelper;
+    
     @Override
     protected String getToolGroupName() {
         return "FlexJS";
@@ -68,18 +74,6 @@ public class CompileJSMojo
     }
 
     @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 isForceSwcExternalLibraryPath() {
         // The forceSwcExternalLibraryPath should only apply to Flash compilations.
         return false;
@@ -88,12 +82,23 @@ public class CompileJSMojo
     @Override
     protected List<String> getCompilerArgs(File configFile) throws MojoExecutionException {
         List<String> args = super.getCompilerArgs(configFile);
-        args.add("-js-output-type=FLEXJS");
+        args.add("-compiler.targets=SWF,JSFlex");
         args.add("-compiler.strict-xml=true");
         return args;
     }
 
     @Override
+    public void execute() throws MojoExecutionException
+    {
+        super.execute();
+        
+        if(getOutput().exists()) {
+            // Add the extern to the artifact.
+            projectHelper.attachArtifact(project, getOutput(), "typedefs");
+        }
+    }
+    
+    @Override
     protected List<Namespace> getNamespaces() {
         List<Namespace> namespaces = new LinkedList<Namespace>();
         for(Namespace namespace : super.getNamespaces()) {
@@ -117,4 +122,12 @@ public class CompileJSMojo
         return "typedefs".equalsIgnoreCase(library.getClassifier());
     }
 
+    /* return false since we will already list the libraries we want on the
+       regular library-path and external-library-path
+     */
+    @Override
+    protected boolean includeLibraryJS(Artifact library) {
+        return false;
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/flexjs-maven-plugin/src/main/resources/META-INF/plexus/components.xml
----------------------------------------------------------------------
diff --git a/flexjs-maven-plugin/src/main/resources/META-INF/plexus/components.xml b/flexjs-maven-plugin/src/main/resources/META-INF/plexus/components.xml
index 78dbe96..3445ede 100644
--- a/flexjs-maven-plugin/src/main/resources/META-INF/plexus/components.xml
+++ b/flexjs-maven-plugin/src/main/resources/META-INF/plexus/components.xml
@@ -46,7 +46,6 @@
                             <compile>
                                 org.apache.flex.flexjs.compiler:flexjs-maven-plugin:compile-as,
                                 org.apache.flex.flexjs.compiler:flexjs-maven-plugin:compile-js,
-                                org.apache.flex.flexjs.compiler:flexjs-maven-plugin:compile-extern,
                             </compile>
                             <process-test-resources>
                                 org.apache.maven.plugins:maven-resources-plugin:testResources

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/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
deleted file mode 100644
index af45b0a..0000000
--- a/flexjs-maven-plugin/src/main/resources/config/compile-as-config.xml
+++ /dev/null
@@ -1,117 +0,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>
-
-    <compiler>
-
-        <accessible>true</accessible>
-        <debug>$debug</debug>
-
-        <library-path>
-#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
-        </external-library-path>
-
-        <theme>
-#foreach($artifact in $themeLibraries)           <filename>$artifact.file</filename>
-#end
-        </theme>
-
-        <source-path>
-#foreach($sourcePath in $sourcePaths)           <path-element>$sourcePath</path-element>
-#end
-        </source-path>
-
-        <namespaces>
-#foreach($namespace in $namespaces)            <namespace>
-                <uri>$namespace.uri</uri>
-                <manifest>$namespace.manifest</manifest>
-            </namespace>
-#end
-        </namespaces>
-
-        <keep-as3-metadata>
-#foreach($metadata in $keepAs3Metadata)            <name>$metadata</name>
-#end
-        </keep-as3-metadata>
-
-        <allow-subclass-overrides>$allowSubclassOverrides</allow-subclass-overrides>
-        
-        <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>
-
-        <locale>
-        </locale>
-
-        <warn-no-constructor>false</warn-no-constructor>
-        <show-deprecation-warnings>false</show-deprecation-warnings>
-
-#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
-
-#if($namespaceUris)
-    <include-namespaces>
-#foreach($namespaceUri in $namespaceUris)        <uri>$namespaceUri</uri>
-#end
-    </include-namespaces>
-#end
-
-#foreach($includeFile in $includeFiles)    <include-file>
-        <name>$includeFile.name</name>
-        <path>$includeFile.path</path>
-    </include-file>
-#end
-
-#if($includeLookupOnly)
-    <include-lookup-only>$includeLookupOnly</include-lookup-only>
-#end
-
-    <target-player>${targetPlayer}</target-player>
-
-    <output>${output}</output>
-
-</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2863e767/flexjs-maven-plugin/src/main/resources/config/compile-swf-config.xml
----------------------------------------------------------------------
diff --git a/flexjs-maven-plugin/src/main/resources/config/compile-swf-config.xml b/flexjs-maven-plugin/src/main/resources/config/compile-swf-config.xml
new file mode 100644
index 0000000..bb87db4
--- /dev/null
+++ b/flexjs-maven-plugin/src/main/resources/config/compile-swf-config.xml
@@ -0,0 +1,135 @@
+<!--
+
+  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>
+
+    <compiler>
+
+        <accessible>true</accessible>
+        <debug>$debug</debug>
+
+        <library-path>
+#foreach($artifact in $libraries)            <path-element>$artifact.file</path-element>
+#end
+        </library-path>
+
+        <js-library-path>
+            #foreach($artifact in $jsLibraries)            <path-element>$artifact.file</path-element>
+            #end
+        </js-library-path>
+
+        <external-library-path>
+#foreach($artifact in $externalLibraries)            <path-element>$artifact.file</path-element>
+#end
+        </external-library-path>
+
+        <js-external-library-path>
+            #foreach($artifact in $jsExternalLibraries)            <path-element>$artifact.file</path-element>
+            #end
+        </js-external-library-path>
+
+        <theme>
+#foreach($artifact in $themeLibraries)           <filename>$artifact.file</filename>
+#end
+        </theme>
+
+        <source-path>
+#foreach($sourcePath in $sourcePaths)           <path-element>$sourcePath</path-element>
+#end
+        </source-path>
+
+        <namespaces>
+#foreach($namespace in $namespaces)            <namespace>
+                <uri>$namespace.uri</uri>
+                <manifest>$namespace.manifest</manifest>
+            </namespace>
+#end
+        </namespaces>
+
+        <js-namespaces>
+#foreach($jsnamespace in $jsNamespaces)            <namespace>
+                <uri>$jsnamespace.uri</uri>
+                <manifest>$jsnamespace.manifest</manifest>
+            </namespace>
+#end
+        </js-namespaces>
+
+        <keep-as3-metadata>
+#foreach($metadata in $keepAs3Metadata)            <name>$metadata</name>
+#end
+        </keep-as3-metadata>
+
+        <allow-subclass-overrides>$allowSubclassOverrides</allow-subclass-overrides>
+        
+        <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>
+
+        <locale>
+        </locale>
+
+        <warn-no-constructor>false</warn-no-constructor>
+        <show-deprecation-warnings>false</show-deprecation-warnings>
+
+#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
+
+#if($namespaceUris)
+    <include-namespaces>
+#foreach($namespaceUri in $namespaceUris)        <uri>$namespaceUri</uri>
+#end
+    </include-namespaces>
+#end
+
+#foreach($includeFile in $includeFiles)    <include-file>
+        <name>$includeFile.name</name>
+        <path>$includeFile.path</path>
+    </include-file>
+#end
+
+#if($includeLookupOnly)
+    <include-lookup-only>$includeLookupOnly</include-lookup-only>
+#end
+
+    <target-player>${targetPlayer}</target-player>
+
+    <output>${output}</output>
+
+</flex-config>


Mime
View raw message