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 10:25:39 UTC

git commit: [flex-falcon] [refs/heads/feature/flex-tool-api] - - Made Falcon implement the flex-tool-api

Repository: flex-falcon
Updated Branches:
  refs/heads/feature/flex-tool-api [created] 7923ce9d7


- Made Falcon implement the flex-tool-api


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

Branch: refs/heads/feature/flex-tool-api
Commit: 7923ce9d7aa590380f0606ed4e1df15592db0543
Parents: 3011d63
Author: Christofer Dutz <ch...@codecentric.de>
Authored: Mon Nov 10 10:25:28 2014 +0100
Committer: Christofer Dutz <ch...@codecentric.de>
Committed: Mon Nov 10 10:25:28 2014 +0100

----------------------------------------------------------------------
 compiler/downloads.xml                          | 14 +++++++
 .../org.apache.flex.tools.FlexToolGroup         |  1 +
 .../org/apache/flex/compiler/clients/COMPC.java | 15 +++++++-
 .../flex/compiler/clients/FalconToolGroup.java  | 39 ++++++++++++++++++++
 .../org/apache/flex/compiler/clients/MXMLC.java | 16 +++++++-
 .../apache/flex/compiler/clients/Optimizer.java | 12 +++++-
 6 files changed, 92 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/7923ce9d/compiler/downloads.xml
----------------------------------------------------------------------
diff --git a/compiler/downloads.xml b/compiler/downloads.xml
index 28f1fd9..60b7f07 100644
--- a/compiler/downloads.xml
+++ b/compiler/downloads.xml
@@ -216,6 +216,20 @@
       <param name="dest.filename" value="${lzma.name}-sdk.jar"/>
       <param name="license.use.url" value="http://www.7-zip.org/sdk.html"/>
     </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>
 
   <target name="maven-related" description="Downloads and copies all dependencies to the lib directory.">

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/7923ce9d/compiler/src/META-INF/services/org.apache.flex.tools.FlexToolGroup
----------------------------------------------------------------------
diff --git a/compiler/src/META-INF/services/org.apache.flex.tools.FlexToolGroup b/compiler/src/META-INF/services/org.apache.flex.tools.FlexToolGroup
new file mode 100644
index 0000000..1a8af6d
--- /dev/null
+++ b/compiler/src/META-INF/services/org.apache.flex.tools.FlexToolGroup
@@ -0,0 +1 @@
+org.apache.flex.compiler.clients.FalconToolGroup
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/7923ce9d/compiler/src/org/apache/flex/compiler/clients/COMPC.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/clients/COMPC.java b/compiler/src/org/apache/flex/compiler/clients/COMPC.java
index 6216855..af55eac 100644
--- a/compiler/src/org/apache/flex/compiler/clients/COMPC.java
+++ b/compiler/src/org/apache/flex/compiler/clients/COMPC.java
@@ -43,6 +43,7 @@ import org.apache.flex.swc.io.ISWCWriter;
 import org.apache.flex.swc.io.SWCDirectoryWriter;
 import org.apache.flex.swc.io.SWCWriter;
 import org.apache.flex.swf.io.SizeReportWritingSWFWriter;
+import org.apache.flex.tools.FlexTool;
 import org.apache.flex.utils.FilenameNormalization;
 
 /**
@@ -51,7 +52,7 @@ import org.apache.flex.utils.FilenameNormalization;
  * This class is a quick start of component compiler. It depends on most of the
  * functionalities developed for mxmlc.
  */
-public class COMPC extends MXMLC
+public class COMPC extends MXMLC implements FlexTool
 {
     /**
      * Entry point for <code>compc</code> tool.
@@ -75,7 +76,17 @@ public class COMPC extends MXMLC
         final COMPC compc = new COMPC();
         return compc.mainNoExit(args);
     }
-    
+
+    @Override
+    public String getName() {
+        return "COMPC";
+    }
+
+    @Override
+    public int execute(String[] args) {
+        return mainNoExit(args);
+    }
+
     /**
      * Console message describing the size and location of the created 
      * SWC file.

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/7923ce9d/compiler/src/org/apache/flex/compiler/clients/FalconToolGroup.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/clients/FalconToolGroup.java b/compiler/src/org/apache/flex/compiler/clients/FalconToolGroup.java
new file mode 100644
index 0000000..3185155
--- /dev/null
+++ b/compiler/src/org/apache/flex/compiler/clients/FalconToolGroup.java
@@ -0,0 +1,39 @@
+package org.apache.flex.compiler.clients;
+
+import org.apache.flex.tools.FlexTool;
+import org.apache.flex.tools.FlexToolGroup;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * FlexToolGroup exposing the implementations of the Falcon compilers tools.
+ */
+public class FalconToolGroup implements FlexToolGroup {
+
+    Map<String, FlexTool> tools;
+
+    public FalconToolGroup() {
+        tools = new HashMap<String, FlexTool>();
+        tools.put("COMPC", new COMPC());
+        tools.put("MXMLC", new MXMLC());
+        tools.put("OPTIMIZER", new Optimizer());
+    }
+
+    @Override
+    public String getName() {
+        return "Falcon";
+    }
+
+    @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/7923ce9d/compiler/src/org/apache/flex/compiler/clients/MXMLC.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/clients/MXMLC.java b/compiler/src/org/apache/flex/compiler/clients/MXMLC.java
index c10d826..2b7e97b 100644
--- a/compiler/src/org/apache/flex/compiler/clients/MXMLC.java
+++ b/compiler/src/org/apache/flex/compiler/clients/MXMLC.java
@@ -89,6 +89,7 @@ import org.apache.flex.swf.Header;
 import org.apache.flex.swf.ISWF;
 import org.apache.flex.swf.io.ISWFWriter;
 import org.apache.flex.swf.io.SizeReportWritingSWFWriter;
+import org.apache.flex.tools.FlexTool;
 import org.apache.flex.utils.FilenameNormalization;
 
 import com.google.common.base.Function;
@@ -101,7 +102,7 @@ import com.google.common.collect.Lists;
 /**
  * The entry-point class for mxmlc.
  */
-public class MXMLC
+public class MXMLC implements FlexTool
 {
     static final String NEWLINE = System.getProperty("line.separator");
     private static final String SWF_EXT = ".swf";
@@ -173,7 +174,18 @@ public class MXMLC
                code == ExitCode.FAILED_WITH_EXCEPTIONS.getCode() ||
                code == ExitCode.FAILED_WITH_CONFIG_ERRORS.getCode();
     }
-    
+
+    @Override
+    public String getName() {
+        return "MXMLC";
+    }
+
+    @Override
+    public int execute(String[] args) {
+        return mainNoExit(args);
+    }
+
+
     /**
      * Entry point for when you already have an MXMLC instance.
      * This is for unit testing.

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/7923ce9d/compiler/src/org/apache/flex/compiler/clients/Optimizer.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/clients/Optimizer.java b/compiler/src/org/apache/flex/compiler/clients/Optimizer.java
index 9fadf6d..1566cf5 100644
--- a/compiler/src/org/apache/flex/compiler/clients/Optimizer.java
+++ b/compiler/src/org/apache/flex/compiler/clients/Optimizer.java
@@ -69,12 +69,13 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.commons.io.IOUtils;
+import org.apache.flex.tools.FlexTool;
 
 /**
  * Command line optimizer - can read in a swf, apply the optimizations usually done during swf linking,
  * and write out the swf again.
  */
-public class Optimizer
+public class Optimizer implements FlexTool
 {
     static final String NEWLINE = System.getProperty("line.separator");
     private static final String DEFAULT_VAR = "input";
@@ -98,6 +99,15 @@ public class Optimizer
         return optimizer.mainNoExit(args);
     }
 
+    @Override
+    public String getName() {
+        return "OPTIMIZER";
+    }
+
+    @Override
+    public int execute(String[] args) {
+        return mainNoExit(args);
+    }
 
     public int mainNoExit(final String[] args)
     {