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 <aha...@apache.org> Authored: Sat Feb 18 22:46:23 2017 -0800 Committer: Alex Harui <aha...@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>