You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by cd...@apache.org on 2014/11/10 11:44:43 UTC
git commit: [flex-falcon] [refs/heads/feature/flex-tool-api] - Added
FlexToolGroup and FlexTool implementations for: - Falcon - FlexJS - VF2JS
Repository: flex-falcon
Updated Branches:
refs/heads/feature/flex-tool-api 7923ce9d7 -> 8c2f634db
Added FlexToolGroup and FlexTool implementations for:
- Falcon
- FlexJS
- VF2JS
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/8c2f634d
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/8c2f634d
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/8c2f634d
Branch: refs/heads/feature/flex-tool-api
Commit: 8c2f634dbb4bd472e0ea8d8a2468d090def6cb34
Parents: 7923ce9
Author: Christofer Dutz <ch...@codecentric.de>
Authored: Mon Nov 10 11:44:33 2014 +0100
Committer: Christofer Dutz <ch...@codecentric.de>
Committed: Mon Nov 10 11:44:33 2014 +0100
----------------------------------------------------------------------
compiler.jx/build.xml | 4 +-
compiler.jx/downloads.xml | 14 +++++++
.../apache/flex/compiler/clients/COMPJSC.java | 13 ++++++-
.../flex/compiler/clients/FlexJSToolGroup.java | 39 +++++++++++++++++++
.../apache/flex/compiler/clients/MXMLJSC.java | 28 +++++++++++++-
.../flex/compiler/clients/VF2JSToolGroup.java | 40 ++++++++++++++++++++
compiler/build.xml | 2 +-
7 files changed, 135 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8c2f634d/compiler.jx/build.xml
----------------------------------------------------------------------
diff --git a/compiler.jx/build.xml b/compiler.jx/build.xml
index dc7d889..9a37be9 100644
--- a/compiler.jx/build.xml
+++ b/compiler.jx/build.xml
@@ -42,6 +42,7 @@
<file name="commons-io.jar" />
<file name="guava.jar" />
<file name="antlr.jar" />
+ <file name="flex-tool-api.jar" />
</filelist>
<filelist dir="${build.lib.dir}/google/closure-compiler">
<file name="compiler.jar" />
@@ -54,6 +55,7 @@
<file name="commons-io.jar" />
<file name="guava.jar" />
<file name="antlr.jar" />
+ <file name="flex-tool-api.jar"/>
</filelist>
</copy>
<copy todir="${build.lib.dir}/google/closure-compiler">
@@ -84,7 +86,7 @@
<target name="main" depends="prebuild,copyFiles,compile">
- <property name="jar.classpath" value="commons-io.jar ../../lib/external/guava.jar ../../lib/external/antlr.jar google/closure-compiler/compiler.jar ../../compiler/generated/dist/sdk/lib/compiler.jar ../../lib/compiler.jar" />
+ <property name="jar.classpath" value="commons-io.jar ../../lib/external/guava.jar ../../lib/external/antlr.jar ../../lib/external/flex-tool-api.jar google/closure-compiler/compiler.jar ../../compiler/generated/dist/sdk/lib/compiler.jar ../../lib/compiler.jar" />
<echo message="Building ${jsc.jar}" />
<jar file="${jsc.jar}" basedir="${classes.dir}"
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8c2f634d/compiler.jx/downloads.xml
----------------------------------------------------------------------
diff --git a/compiler.jx/downloads.xml b/compiler.jx/downloads.xml
index cc998a7..dd64945 100644
--- a/compiler.jx/downloads.xml
+++ b/compiler.jx/downloads.xml
@@ -150,6 +150,20 @@
<param name="dest.folder" value=""/>
<param name="dest.filename" value="${org.json.name}.jar"/>
</antcall>
+
+ <!-- flex-tool-api -->
+ <property name="flexToolApi.name" value="flex-tool-api"/>
+ <property name="flexToolApi.version" value="1.0.0-SNAPSHOT"/>
+ <antcall target="download-dependency">
+ <param name="name" value="${flexToolApi.name}"/>
+ <param name="src.server" value="http://repository.apache.org/content/groups/snapshots"/>
+ <param name="src.folder" value="org/apache/flex/flex-tool-api/${flexToolApi.version}"/>
+ <param name="src.filename" value="flex-tool-api-1.0.0-20141105.140704-1.jar"/>
+ <param name="src.checksum" value="b37c99011d06e1ff794d8ee9153ab2c4"/>
+ <param name="dest.folder" value=""/>
+ <param name="dest.filename" value="${flexToolApi.name}.jar"/>
+ <param name="license.use.apache" value="true"/>
+ </antcall>
</target>
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8c2f634d/compiler.jx/src/org/apache/flex/compiler/clients/COMPJSC.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/clients/COMPJSC.java b/compiler.jx/src/org/apache/flex/compiler/clients/COMPJSC.java
index 99140bb..068b2f3 100644
--- a/compiler.jx/src/org/apache/flex/compiler/clients/COMPJSC.java
+++ b/compiler.jx/src/org/apache/flex/compiler/clients/COMPJSC.java
@@ -51,6 +51,7 @@ import org.apache.flex.compiler.problems.UnableToBuildSWFProblem;
import org.apache.flex.compiler.targets.ITarget.TargetType;
import org.apache.flex.compiler.targets.ITargetSettings;
import org.apache.flex.compiler.units.ICompilationUnit;
+import org.apache.flex.tools.FlexTool;
import org.apache.flex.utils.FileUtils;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
@@ -60,7 +61,7 @@ import sun.reflect.generics.reflectiveObjects.NotImplementedException;
* @author Erik de Bruin
* @author Michael Schmalle
*/
-public class COMPJSC extends MXMLJSC
+public class COMPJSC extends MXMLJSC implements FlexTool
{
/*
* Exit code enumerations.
@@ -81,6 +82,16 @@ public class COMPJSC extends MXMLJSC
final int code;
}
+ @Override
+ public String getName() {
+ return "COMPC";
+ }
+
+ @Override
+ public int execute(String[] args) {
+ return staticMainNoExit(args);
+ }
+
/**
* Java program entry point.
*
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8c2f634d/compiler.jx/src/org/apache/flex/compiler/clients/FlexJSToolGroup.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/clients/FlexJSToolGroup.java b/compiler.jx/src/org/apache/flex/compiler/clients/FlexJSToolGroup.java
new file mode 100644
index 0000000..f33e346
--- /dev/null
+++ b/compiler.jx/src/org/apache/flex/compiler/clients/FlexJSToolGroup.java
@@ -0,0 +1,39 @@
+package org.apache.flex.compiler.clients;
+
+import org.apache.flex.compiler.internal.driver.mxml.flexjs.MXMLFlexJSBackend;
+import org.apache.flex.tools.FlexTool;
+import org.apache.flex.tools.FlexToolGroup;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Created by christoferdutz on 10.11.14.
+ */
+public class FlexJSToolGroup implements FlexToolGroup {
+
+ Map<String, FlexTool> tools;
+
+ public FlexJSToolGroup() {
+ tools = new HashMap<String, FlexTool>();
+ tools.put("COMPC", new COMPJSC(new MXMLFlexJSBackend()));
+ tools.put("MXMLC", new MXMLJSC(new MXMLFlexJSBackend()));
+ }
+
+ @Override
+ public String getName() {
+ return "FlexJS";
+ }
+
+ @Override
+ public Collection<String> getFlexToolNames() {
+ return tools.keySet();
+ }
+
+ @Override
+ public FlexTool getFlexTool(String toolName) {
+ return tools.get(toolName);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8c2f634d/compiler.jx/src/org/apache/flex/compiler/clients/MXMLJSC.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/clients/MXMLJSC.java b/compiler.jx/src/org/apache/flex/compiler/clients/MXMLJSC.java
index e08cd6c..2716aea 100644
--- a/compiler.jx/src/org/apache/flex/compiler/clients/MXMLJSC.java
+++ b/compiler.jx/src/org/apache/flex/compiler/clients/MXMLJSC.java
@@ -77,6 +77,7 @@ import org.apache.flex.compiler.targets.ITarget;
import org.apache.flex.compiler.targets.ITarget.TargetType;
import org.apache.flex.compiler.targets.ITargetSettings;
import org.apache.flex.compiler.units.ICompilationUnit;
+import org.apache.flex.tools.FlexTool;
import org.apache.flex.utils.FileUtils;
import org.apache.flex.utils.FilenameNormalization;
@@ -88,7 +89,7 @@ import com.google.common.collect.Iterables;
* @author Erik de Bruin
* @author Michael Schmalle
*/
-public class MXMLJSC
+public class MXMLJSC implements FlexTool
{
/*
* JS output type enumerations.
@@ -143,6 +144,17 @@ public class MXMLJSC
public static JSOutputType jsOutputType;
public static boolean keepASDoc;
+ @Override
+ public String getName() {
+ return "MXMLC";
+ }
+
+ @Override
+ public int execute(String[] args) {
+ final Set<ICompilerProblem> problems = new HashSet<ICompilerProblem>();
+ return mainNoExit(args, problems, true);
+ }
+
/**
* Java program entry point.
*
@@ -150,6 +162,18 @@ public class MXMLJSC
*/
public static void main(final String[] args)
{
+ int exitCode = staticMainNoExit(args);
+ System.exit(exitCode);
+ }
+
+ /**
+ * Entry point for the {@code <compc>} Ant task.
+ *
+ * @param args Command line arguments.
+ * @return An exit code.
+ */
+ public static int staticMainNoExit(final String[] args)
+ {
long startTime = System.nanoTime();
IBackend backend = new ASBackend();
@@ -193,7 +217,7 @@ public class MXMLJSC
long endTime = System.nanoTime();
JSSharedData.instance.stdout((endTime - startTime) / 1e9 + " seconds");
- System.exit(exitCode);
+ return exitCode;
}
protected Workspace workspace;
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8c2f634d/compiler.jx/src/org/apache/flex/compiler/clients/VF2JSToolGroup.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/clients/VF2JSToolGroup.java b/compiler.jx/src/org/apache/flex/compiler/clients/VF2JSToolGroup.java
new file mode 100644
index 0000000..2918e68
--- /dev/null
+++ b/compiler.jx/src/org/apache/flex/compiler/clients/VF2JSToolGroup.java
@@ -0,0 +1,40 @@
+package org.apache.flex.compiler.clients;
+
+import org.apache.flex.compiler.internal.driver.js.vf2js.VF2JSBackend;
+import org.apache.flex.compiler.internal.driver.mxml.flexjs.MXMLFlexJSBackend;
+import org.apache.flex.tools.FlexTool;
+import org.apache.flex.tools.FlexToolGroup;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Created by christoferdutz on 10.11.14.
+ */
+public class VF2JSToolGroup implements FlexToolGroup {
+
+ Map<String, FlexTool> tools;
+
+ public VF2JSToolGroup() {
+ tools = new HashMap<String, FlexTool>();
+ tools.put("COMPC", new COMPJSC(new VF2JSBackend()));
+ tools.put("MXMLC", new MXMLJSC(new VF2JSBackend()));
+ }
+
+ @Override
+ public String getName() {
+ return "VF2JS";
+ }
+
+ @Override
+ public Collection<String> getFlexToolNames() {
+ return tools.keySet();
+ }
+
+ @Override
+ public FlexTool getFlexTool(String toolName) {
+ return tools.get(toolName);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8c2f634d/compiler/build.xml
----------------------------------------------------------------------
diff --git a/compiler/build.xml b/compiler/build.xml
index 13d1ce8..7c0172e 100644
--- a/compiler/build.xml
+++ b/compiler/build.xml
@@ -605,7 +605,7 @@
<attribute name="Implementation-Title" value="${manifest.Implementation-Title}"/>
<attribute name="Implementation-Version" value="${manifest.Implementation-Version}.${build.number}"/>
<attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}"/>
- <attribute name="Class-Path" value="external/antlr.jar external/commons-cli.jar external/commons-io.jar external/guava.jar external/lzma-sdk.jar .."/>
+ <attribute name="Class-Path" value="external/antlr.jar external/commons-cli.jar external/commons-io.jar external/guava.jar external/lzma-sdk.jar external/flex-tool-api.jar .."/>
<!-- The .. in the line above allows the compiler to load the env.properties file -->
</manifest>
</jar>