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/05 10:02:03 UTC

git commit: [flex-utilities] [refs/heads/develop] - Refactored the tool api to allow the usage of the Java ServiceLoader mechanism.

Repository: flex-utilities
Updated Branches:
  refs/heads/develop afa10c78a -> 73e4a8edb


Refactored the tool api to allow the usage of the Java ServiceLoader mechanism.


Project: http://git-wip-us.apache.org/repos/asf/flex-utilities/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-utilities/commit/73e4a8ed
Tree: http://git-wip-us.apache.org/repos/asf/flex-utilities/tree/73e4a8ed
Diff: http://git-wip-us.apache.org/repos/asf/flex-utilities/diff/73e4a8ed

Branch: refs/heads/develop
Commit: 73e4a8edb2c8c95987b739195a4927093a14c4b9
Parents: afa10c7
Author: Christofer Dutz <ch...@codecentric.de>
Authored: Wed Nov 5 10:01:47 2014 +0100
Committer: Christofer Dutz <ch...@codecentric.de>
Committed: Wed Nov 5 10:01:58 2014 +0100

----------------------------------------------------------------------
 flex-tool-api/pom.xml                           | 12 +++++++
 .../java/org/apache/flex/tools/FlexTool.java    | 15 +++++---
 .../org/apache/flex/tools/FlexToolGroup.java    | 37 ++++++++++++++++++++
 3 files changed, 60 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/73e4a8ed/flex-tool-api/pom.xml
----------------------------------------------------------------------
diff --git a/flex-tool-api/pom.xml b/flex-tool-api/pom.xml
index f82ddd1..f38544b 100644
--- a/flex-tool-api/pom.xml
+++ b/flex-tool-api/pom.xml
@@ -55,4 +55,16 @@
         <url>https://git-wip-us.apache.org/repos/asf/flex-utilities.git</url>
     </scm>
 
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>1.6</source>
+                    <target>1.6</target>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/73e4a8ed/flex-tool-api/src/main/java/org/apache/flex/tools/FlexTool.java
----------------------------------------------------------------------
diff --git a/flex-tool-api/src/main/java/org/apache/flex/tools/FlexTool.java b/flex-tool-api/src/main/java/org/apache/flex/tools/FlexTool.java
index ddf55d4..6e95cdf 100644
--- a/flex-tool-api/src/main/java/org/apache/flex/tools/FlexTool.java
+++ b/flex-tool-api/src/main/java/org/apache/flex/tools/FlexTool.java
@@ -25,15 +25,22 @@ package org.apache.flex.tools;
  */
 public interface FlexTool {
 
-    String getToolName();
-
-    String getToolGroupName();
+    /**
+     * Return the name of the tool. This name should match the names of
+     * tools in alternate tool groups: MXML, COMPC, ASDOC
+     *
+     * An enum was deliberately not selected in order to allow easy addition
+     * of new future tools without having to touch the tool-api.
+     * @return Symbolic name of this tool.
+     */
+    String getName();
 
     /**
      * Execute the flex tool and pass in an array of commandline arguments.
+     *
      * @param args arguments passed to the tool.
      * @return the return code returned by the tool.
      */
-    int executeTool(String[] args);
+    int execute(String[] args);
 
 }

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/73e4a8ed/flex-tool-api/src/main/java/org/apache/flex/tools/FlexToolGroup.java
----------------------------------------------------------------------
diff --git a/flex-tool-api/src/main/java/org/apache/flex/tools/FlexToolGroup.java b/flex-tool-api/src/main/java/org/apache/flex/tools/FlexToolGroup.java
new file mode 100644
index 0000000..f5694c4
--- /dev/null
+++ b/flex-tool-api/src/main/java/org/apache/flex/tools/FlexToolGroup.java
@@ -0,0 +1,37 @@
+/*
+ *
+ *  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.
+ *
+ */
+
+package org.apache.flex.tools;
+
+import java.util.Collection;
+
+/**
+ * Interface for defining a group of flex tools. Classes implementing this
+ * interface will allow loading of flex tools using the java ServiceLoader
+ * mechanism.
+ */
+public interface FlexToolGroup {
+
+    String getName();
+
+    Collection<String> getFlexToolNames();
+
+    FlexTool getFlexTool(String name);
+
+}