You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2017/05/01 03:47:41 UTC
[15/38] git commit: [flex-falcon] [refs/heads/develop] - fix dual
mode by changing mappings at the project level instead of in the
configuration
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/develop
Commit: 2863e767eb4d416e34d3cf376de2f945c82fb4c1
Parents: 6ae2ed1
Author: Alex Harui <ah...@apache.org>
Authored: Sat Feb 18 22:46:23 2017 -0800
Committer: Alex Harui <ah...@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>