浏览代码

HADOOP-8909. Merging change 1397338 from trunk

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1397339 13f79535-47bb-0310-9956-ffa450edef68
Suresh Srinivas 12 年之前
父节点
当前提交
c4bfcf4478
共有 2 个文件被更改,包括 49 次插入61 次删除
  1. 3 0
      hadoop-common-project/hadoop-common/CHANGES.txt
  2. 46 61
      hadoop-common-project/hadoop-common/pom.xml

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -38,6 +38,9 @@ Release 2.0.3-alpha - Unreleased
     HADOOP-8894. GenericTestUtils.waitFor should dump thread stacks on timeout
     HADOOP-8894. GenericTestUtils.waitFor should dump thread stacks on timeout
     (todd)
     (todd)
 
 
+    HADOOP-8909. Hadoop Common Maven protoc calls must not depend on external
+    sh script. (Chris Nauroth via suresh)
+
   OPTIMIZATIONS
   OPTIMIZATIONS
 
 
     HADOOP-8866. SampleQuantiles#query is O(N^2) instead of O(N). (Andrew Wang
     HADOOP-8866. SampleQuantiles#query is O(N^2) instead of O(N). (Andrew Wang

+ 46 - 61
hadoop-common-project/hadoop-common/pom.xml

@@ -271,72 +271,15 @@
         <artifactId>maven-antrun-plugin</artifactId>
         <artifactId>maven-antrun-plugin</artifactId>
         <executions>
         <executions>
           <execution>
           <execution>
-            <id>compile-proto</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>run</goal>
-            </goals>
-            <configuration>
-              <target>
-                <echo file="target/compile-proto.sh">
-                    PROTO_DIR=src/main/proto
-                    JAVA_DIR=target/generated-sources/java
-                    which cygpath 2&gt; /dev/null
-                    if [ $? = 1 ]; then
-                      IS_WIN=false
-                    else
-                      IS_WIN=true
-                      WIN_PROTO_DIR=`cygpath --windows $PROTO_DIR`
-                      WIN_JAVA_DIR=`cygpath --windows $JAVA_DIR`
-                    fi
-                    mkdir -p $JAVA_DIR 2&gt; /dev/null
-                    for PROTO_FILE in `ls $PROTO_DIR/*.proto 2&gt; /dev/null`
-                    do
-                        if [ "$IS_WIN" = "true" ]; then
-                          protoc -I$WIN_PROTO_DIR --java_out=$WIN_JAVA_DIR $PROTO_FILE
-                        else
-                          protoc -I$PROTO_DIR --java_out=$JAVA_DIR $PROTO_FILE
-                        fi
-                    done
-                </echo>
-                <exec executable="sh" dir="${basedir}" failonerror="true">
-                  <arg line="target/compile-proto.sh"/>
-                </exec>
-              </target>
-            </configuration>
-          </execution>
-          <execution>
-            <id>compile-test-proto</id>
-            <phase>generate-test-sources</phase>
+            <id>create-protobuf-generated-sources-directory</id>
+            <phase>initialize</phase>
             <goals>
             <goals>
               <goal>run</goal>
               <goal>run</goal>
             </goals>
             </goals>
             <configuration>
             <configuration>
               <target>
               <target>
-                <echo file="target/compile-test-proto.sh">
-                    PROTO_DIR=src/test/proto
-                    JAVA_DIR=target/generated-test-sources/java
-                    which cygpath 2&gt; /dev/null
-                    if [ $? = 1 ]; then
-                      IS_WIN=false
-                    else
-                      IS_WIN=true
-                      WIN_PROTO_DIR=`cygpath --windows $PROTO_DIR`
-                      WIN_JAVA_DIR=`cygpath --windows $JAVA_DIR`
-                    fi
-                    mkdir -p $JAVA_DIR 2&gt; /dev/null
-                    for PROTO_FILE in `ls $PROTO_DIR/*.proto 2&gt; /dev/null`
-                    do
-                        if [ "$IS_WIN" = "true" ]; then
-                          protoc -I$WIN_PROTO_DIR --java_out=$WIN_JAVA_DIR $PROTO_FILE
-                        else
-                          protoc -I$PROTO_DIR --java_out=$JAVA_DIR $PROTO_FILE
-                        fi
-                    done
-                </echo>
-                <exec executable="sh" dir="${basedir}" failonerror="true">
-                  <arg line="target/compile-test-proto.sh"/>
-                </exec>
+                <mkdir dir="target/generated-sources/java" />
+                <mkdir dir="target/generated-test-sources/java" />
               </target>
               </target>
             </configuration>
             </configuration>
           </execution>
           </execution>
@@ -412,6 +355,48 @@
           </execution>
           </execution>
         </executions>
         </executions>
       </plugin>
       </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>exec-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>compile-proto</id>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>exec</goal>
+            </goals>
+            <configuration>
+              <executable>protoc</executable>
+              <arguments>
+                <argument>-Isrc/main/proto/</argument>
+                <argument>--java_out=target/generated-sources/java</argument>
+                <argument>src/main/proto/HAServiceProtocol.proto</argument>
+                <argument>src/main/proto/IpcConnectionContext.proto</argument>
+                <argument>src/main/proto/ProtocolInfo.proto</argument>
+                <argument>src/main/proto/RpcPayloadHeader.proto</argument>
+                <argument>src/main/proto/ZKFCProtocol.proto</argument>
+                <argument>src/main/proto/hadoop_rpc.proto</argument>
+              </arguments>
+            </configuration>
+          </execution>
+          <execution>
+            <id>compile-test-proto</id>
+            <phase>generate-test-sources</phase>
+            <goals>
+              <goal>exec</goal>
+            </goals>
+            <configuration>
+              <executable>protoc</executable>
+              <arguments>
+                <argument>-Isrc/test/proto/</argument>
+                <argument>--java_out=target/generated-test-sources/java</argument>
+                <argument>src/test/proto/test.proto</argument>
+                <argument>src/test/proto/test_rpc_service.proto</argument>
+              </arguments>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
       <plugin>
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>build-helper-maven-plugin</artifactId>
         <artifactId>build-helper-maven-plugin</artifactId>