This is an automated email from the ASF dual-hosted git repository. stack pushed a commit to branch branch-2 in repository https://gitbox.apache.org/repos/asf/hadoop.git
commit e649b30b32962256aa2fb48f8c69d30a705a1220 Author: Duo Zhang <zhang...@apache.org> AuthorDate: Sat Sep 28 13:40:22 2019 +0800 HADOOP-16598. Backport "HADOOP-16558 [COMMON+HDFS] use protobuf-maven-plugin to generate protobuf classes" to all active branches Reapply but this time with proper patch. Signed-off-by: stack <st...@apache.org> --- hadoop-common-project/hadoop-common/pom.xml | 65 +++++----------------- .../src/main/proto/GenericRefreshProtocol.proto | 2 +- .../src/main/proto/GetUserMappingsProtocol.proto | 2 +- .../src/main/proto/HAServiceProtocol.proto | 2 +- .../src/main/proto/IpcConnectionContext.proto | 2 +- .../src/main/proto/ProtobufRpcEngine.proto | 2 +- .../src/main/proto/ProtocolInfo.proto | 2 +- .../proto/RefreshAuthorizationPolicyProtocol.proto | 2 +- .../src/main/proto/RefreshCallQueueProtocol.proto | 2 +- .../main/proto/RefreshUserMappingsProtocol.proto | 2 +- .../hadoop-common/src/main/proto/RpcHeader.proto | 2 +- .../hadoop-common/src/main/proto/Security.proto | 2 +- .../hadoop-common/src/main/proto/TraceAdmin.proto | 2 +- .../src/main/proto/ZKFCProtocol.proto | 2 +- .../hadoop-common/src/test/proto/test.proto | 2 +- .../src/test/proto/test_rpc_service.proto | 1 + hadoop-hdfs-project/hadoop-hdfs-client/pom.xml | 35 +++--------- .../src/main/proto/ClientDatanodeProtocol.proto | 2 +- .../src/main/proto/ClientNamenodeProtocol.proto | 2 +- .../src/main/proto/ReconfigurationProtocol.proto | 2 +- .../hadoop-hdfs-client/src/main/proto/acl.proto | 2 +- .../src/main/proto/datatransfer.proto | 2 +- .../src/main/proto/encryption.proto | 2 +- .../hadoop-hdfs-client/src/main/proto/hdfs.proto | 2 +- .../src/main/proto/inotify.proto | 2 +- .../hadoop-hdfs-client/src/main/proto/xattr.proto | 2 +- hadoop-hdfs-project/hadoop-hdfs-rbf/pom.xml | 32 ++++------- .../src/main/proto/FederationProtocol.proto | 2 +- .../src/main/proto/RouterProtocol.proto | 2 +- hadoop-hdfs-project/hadoop-hdfs/pom.xml | 40 ++++--------- .../bkjournal/src/main/proto/bkjournal.proto | 3 +- .../src/main/proto/DatanodeLifelineProtocol.proto | 2 +- .../src/main/proto/DatanodeProtocol.proto | 2 +- .../hadoop-hdfs/src/main/proto/HAZKInfo.proto | 2 +- .../hadoop-hdfs/src/main/proto/HdfsServer.proto | 2 +- .../src/main/proto/InterDatanodeProtocol.proto | 2 +- .../src/main/proto/JournalProtocol.proto | 2 +- .../src/main/proto/NamenodeProtocol.proto | 2 +- .../src/main/proto/QJournalProtocol.proto | 2 +- .../hadoop-hdfs/src/main/proto/editlog.proto | 2 +- .../hadoop-hdfs/src/main/proto/fsimage.proto | 2 +- hadoop-project/pom.xml | 61 +++++++++++++++++++- 42 files changed, 145 insertions(+), 162 deletions(-) diff --git a/hadoop-common-project/hadoop-common/pom.xml b/hadoop-common-project/hadoop-common/pom.xml index eac78cf..fa8df64 100644 --- a/hadoop-common-project/hadoop-common/pom.xml +++ b/hadoop-common-project/hadoop-common/pom.xml @@ -370,6 +370,20 @@ </resources> <plugins> <plugin> + <groupId>org.xolstice.maven.plugins</groupId> + <artifactId>protobuf-maven-plugin</artifactId> + <executions> + <execution> + <id>src-compile-protoc</id> + <configuration><skip>false</skip></configuration> + </execution> + <execution> + <id>src-test-compile-protoc</id> + <configuration><skip>false</skip></configuration> + </execution> + </executions> + </plugin> + <plugin> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-maven-plugins</artifactId> <executions> @@ -389,57 +403,6 @@ </source> </configuration> </execution> - <execution> - <id>compile-protoc</id> - <goals> - <goal>protoc</goal> - </goals> - <configuration> - <protocVersion>${protobuf.version}</protocVersion> - <protocCommand>${protoc.path}</protocCommand> - <imports> - <param>${basedir}/src/main/proto</param> - </imports> - <source> - <directory>${basedir}/src/main/proto</directory> - <includes> - <include>HAServiceProtocol.proto</include> - <include>IpcConnectionContext.proto</include> - <include>ProtocolInfo.proto</include> - <include>RpcHeader.proto</include> - <include>ZKFCProtocol.proto</include> - <include>ProtobufRpcEngine.proto</include> - <include>Security.proto</include> - <include>GetUserMappingsProtocol.proto</include> - <include>TraceAdmin.proto</include> - <include>RefreshAuthorizationPolicyProtocol.proto</include> - <include>RefreshUserMappingsProtocol.proto</include> - <include>RefreshCallQueueProtocol.proto</include> - <include>GenericRefreshProtocol.proto</include> - </includes> - </source> - </configuration> - </execution> - <execution> - <id>compile-test-protoc</id> - <goals> - <goal>test-protoc</goal> - </goals> - <configuration> - <protocVersion>${protobuf.version}</protocVersion> - <protocCommand>${protoc.path}</protocCommand> - <imports> - <param>${basedir}/src/test/proto</param> - </imports> - <source> - <directory>${basedir}/src/test/proto</directory> - <includes> - <include>test.proto</include> - <include>test_rpc_service.proto</include> - </includes> - </source> - </configuration> - </execution> </executions> </plugin> <plugin> diff --git a/hadoop-common-project/hadoop-common/src/main/proto/GenericRefreshProtocol.proto b/hadoop-common-project/hadoop-common/src/main/proto/GenericRefreshProtocol.proto index fe46549..6296f88 100644 --- a/hadoop-common-project/hadoop-common/src/main/proto/GenericRefreshProtocol.proto +++ b/hadoop-common-project/hadoop-common/src/main/proto/GenericRefreshProtocol.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.ipc.proto"; option java_outer_classname = "GenericRefreshProtocolProtos"; option java_generic_services = true; diff --git a/hadoop-common-project/hadoop-common/src/main/proto/GetUserMappingsProtocol.proto b/hadoop-common-project/hadoop-common/src/main/proto/GetUserMappingsProtocol.proto index 51552b8..cb91a13 100644 --- a/hadoop-common-project/hadoop-common/src/main/proto/GetUserMappingsProtocol.proto +++ b/hadoop-common-project/hadoop-common/src/main/proto/GetUserMappingsProtocol.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.tools.proto"; option java_outer_classname = "GetUserMappingsProtocolProtos"; option java_generic_services = true; diff --git a/hadoop-common-project/hadoop-common/src/main/proto/HAServiceProtocol.proto b/hadoop-common-project/hadoop-common/src/main/proto/HAServiceProtocol.proto index 16ee9a2..5a88a7f 100644 --- a/hadoop-common-project/hadoop-common/src/main/proto/HAServiceProtocol.proto +++ b/hadoop-common-project/hadoop-common/src/main/proto/HAServiceProtocol.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.ha.proto"; option java_outer_classname = "HAServiceProtocolProtos"; option java_generic_services = true; diff --git a/hadoop-common-project/hadoop-common/src/main/proto/IpcConnectionContext.proto b/hadoop-common-project/hadoop-common/src/main/proto/IpcConnectionContext.proto index 4557e89..16e2fb7 100644 --- a/hadoop-common-project/hadoop-common/src/main/proto/IpcConnectionContext.proto +++ b/hadoop-common-project/hadoop-common/src/main/proto/IpcConnectionContext.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.ipc.protobuf"; option java_outer_classname = "IpcConnectionContextProtos"; option java_generate_equals_and_hash = true; diff --git a/hadoop-common-project/hadoop-common/src/main/proto/ProtobufRpcEngine.proto b/hadoop-common-project/hadoop-common/src/main/proto/ProtobufRpcEngine.proto index a17e207..fa11313 100644 --- a/hadoop-common-project/hadoop-common/src/main/proto/ProtobufRpcEngine.proto +++ b/hadoop-common-project/hadoop-common/src/main/proto/ProtobufRpcEngine.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; /** * These are the messages used by Hadoop RPC for the Rpc Engine Protocol Buffer * to marshal the request and response in the RPC layer. diff --git a/hadoop-common-project/hadoop-common/src/main/proto/ProtocolInfo.proto b/hadoop-common-project/hadoop-common/src/main/proto/ProtocolInfo.proto index fdbc440..0e9d0d4 100644 --- a/hadoop-common-project/hadoop-common/src/main/proto/ProtocolInfo.proto +++ b/hadoop-common-project/hadoop-common/src/main/proto/ProtocolInfo.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.ipc.protobuf"; option java_outer_classname = "ProtocolInfoProtos"; option java_generic_services = true; diff --git a/hadoop-common-project/hadoop-common/src/main/proto/RefreshAuthorizationPolicyProtocol.proto b/hadoop-common-project/hadoop-common/src/main/proto/RefreshAuthorizationPolicyProtocol.proto index 5ef1c2d..f57c6d6 100644 --- a/hadoop-common-project/hadoop-common/src/main/proto/RefreshAuthorizationPolicyProtocol.proto +++ b/hadoop-common-project/hadoop-common/src/main/proto/RefreshAuthorizationPolicyProtocol.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.security.proto"; option java_outer_classname = "RefreshAuthorizationPolicyProtocolProtos"; option java_generic_services = true; diff --git a/hadoop-common-project/hadoop-common/src/main/proto/RefreshCallQueueProtocol.proto b/hadoop-common-project/hadoop-common/src/main/proto/RefreshCallQueueProtocol.proto index 67ed133..463b7c5 100644 --- a/hadoop-common-project/hadoop-common/src/main/proto/RefreshCallQueueProtocol.proto +++ b/hadoop-common-project/hadoop-common/src/main/proto/RefreshCallQueueProtocol.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.ipc.proto"; option java_outer_classname = "RefreshCallQueueProtocolProtos"; option java_generic_services = true; diff --git a/hadoop-common-project/hadoop-common/src/main/proto/RefreshUserMappingsProtocol.proto b/hadoop-common-project/hadoop-common/src/main/proto/RefreshUserMappingsProtocol.proto index 41031ed..a1130f5 100644 --- a/hadoop-common-project/hadoop-common/src/main/proto/RefreshUserMappingsProtocol.proto +++ b/hadoop-common-project/hadoop-common/src/main/proto/RefreshUserMappingsProtocol.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.security.proto"; option java_outer_classname = "RefreshUserMappingsProtocolProtos"; option java_generic_services = true; diff --git a/hadoop-common-project/hadoop-common/src/main/proto/RpcHeader.proto b/hadoop-common-project/hadoop-common/src/main/proto/RpcHeader.proto index e8d8cbb..4705b42 100644 --- a/hadoop-common-project/hadoop-common/src/main/proto/RpcHeader.proto +++ b/hadoop-common-project/hadoop-common/src/main/proto/RpcHeader.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.ipc.protobuf"; option java_outer_classname = "RpcHeaderProtos"; option java_generate_equals_and_hash = true; diff --git a/hadoop-common-project/hadoop-common/src/main/proto/Security.proto b/hadoop-common-project/hadoop-common/src/main/proto/Security.proto index 5ff571d..7368501 100644 --- a/hadoop-common-project/hadoop-common/src/main/proto/Security.proto +++ b/hadoop-common-project/hadoop-common/src/main/proto/Security.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.security.proto"; option java_outer_classname = "SecurityProtos"; option java_generic_services = true; diff --git a/hadoop-common-project/hadoop-common/src/main/proto/TraceAdmin.proto b/hadoop-common-project/hadoop-common/src/main/proto/TraceAdmin.proto index 52d2a90..8cf131b 100644 --- a/hadoop-common-project/hadoop-common/src/main/proto/TraceAdmin.proto +++ b/hadoop-common-project/hadoop-common/src/main/proto/TraceAdmin.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.tracing"; option java_outer_classname = "TraceAdminPB"; option java_generic_services = true; diff --git a/hadoop-common-project/hadoop-common/src/main/proto/ZKFCProtocol.proto b/hadoop-common-project/hadoop-common/src/main/proto/ZKFCProtocol.proto index a2b8dd1..98bc05f 100644 --- a/hadoop-common-project/hadoop-common/src/main/proto/ZKFCProtocol.proto +++ b/hadoop-common-project/hadoop-common/src/main/proto/ZKFCProtocol.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.ha.proto"; option java_outer_classname = "ZKFCProtocolProtos"; option java_generic_services = true; diff --git a/hadoop-common-project/hadoop-common/src/test/proto/test.proto b/hadoop-common-project/hadoop-common/src/test/proto/test.proto index be148d1..c5425f9 100644 --- a/hadoop-common-project/hadoop-common/src/test/proto/test.proto +++ b/hadoop-common-project/hadoop-common/src/test/proto/test.proto @@ -15,7 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.ipc.protobuf"; option java_outer_classname = "TestProtos"; option java_generate_equals_and_hash = true; diff --git a/hadoop-common-project/hadoop-common/src/test/proto/test_rpc_service.proto b/hadoop-common-project/hadoop-common/src/test/proto/test_rpc_service.proto index b0121ca..9fdfb59 100644 --- a/hadoop-common-project/hadoop-common/src/test/proto/test_rpc_service.proto +++ b/hadoop-common-project/hadoop-common/src/test/proto/test_rpc_service.proto @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +syntax = "proto2"; option java_package = "org.apache.hadoop.ipc.protobuf"; option java_outer_classname = "TestRpcServiceProtos"; option java_generic_services = true; diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/pom.xml b/hadoop-hdfs-project/hadoop-hdfs-client/pom.xml index 5d780a5..f6df73a 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/pom.xml +++ b/hadoop-hdfs-project/hadoop-hdfs-client/pom.xml @@ -124,35 +124,18 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd"> </configuration> </plugin> <plugin> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-maven-plugins</artifactId> + <groupId>org.xolstice.maven.plugins</groupId> + <artifactId>protobuf-maven-plugin</artifactId> <executions> <execution> - <id>compile-protoc</id> - <goals> - <goal>protoc</goal> - </goals> + <id>src-compile-protoc</id> <configuration> - <protocVersion>${protobuf.version}</protocVersion> - <protocCommand>${protoc.path}</protocCommand> - <imports> - <param>${basedir}/../../hadoop-common-project/hadoop-common/src/main/proto</param> - <param>${basedir}/src/main/proto</param> - </imports> - <source> - <directory>${basedir}/src/main/proto</directory> - <includes> - <include>ClientDatanodeProtocol.proto</include> - <include>ClientNamenodeProtocol.proto</include> - <include>acl.proto</include> - <include>xattr.proto</include> - <include>datatransfer.proto</include> - <include>hdfs.proto</include> - <include>encryption.proto</include> - <include>inotify.proto</include> - <include>ReconfigurationProtocol.proto</include> - </includes> - </source> + <skip>false</skip> + <additionalProtoPathElements> + <additionalProtoPathElement> + ${basedir}/../../hadoop-common-project/hadoop-common/src/main/proto + </additionalProtoPathElement> + </additionalProtoPathElements> </configuration> </execution> </executions> diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ClientDatanodeProtocol.proto b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ClientDatanodeProtocol.proto index b9077f6..bcc6ed4 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ClientDatanodeProtocol.proto +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ClientDatanodeProtocol.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax="proto2"; // This file contains protocol buffers that are used throughout HDFS -- i.e. // by the client, server, and data transfer protocols. diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ClientNamenodeProtocol.proto b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ClientNamenodeProtocol.proto index 1dbf56c..bb4d5e8 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ClientNamenodeProtocol.proto +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ClientNamenodeProtocol.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax="proto2"; option java_package = "org.apache.hadoop.hdfs.protocol.proto"; option java_outer_classname = "ClientNamenodeProtocolProtos"; option java_generic_services = true; diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ReconfigurationProtocol.proto b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ReconfigurationProtocol.proto index 12a38b1..bad9f45 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ReconfigurationProtocol.proto +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ReconfigurationProtocol.proto @@ -15,7 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +syntax="proto2"; // This file contains protocol buffers that are used to reconfigure NameNode // and DataNode by HDFS admin. diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/acl.proto b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/acl.proto index bb7fdb0..32aac91 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/acl.proto +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/acl.proto @@ -15,7 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +syntax="proto2"; option java_package = "org.apache.hadoop.hdfs.protocol.proto"; option java_outer_classname = "AclProtos"; option java_generate_equals_and_hash = true; diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/datatransfer.proto b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/datatransfer.proto index 135bab1..91b58d2 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/datatransfer.proto +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/datatransfer.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax="proto2"; // This file contains protocol buffers that are used to transfer data // to and from the datanode, as well as between datanodes. diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/encryption.proto b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/encryption.proto index 68b2f3a..6a2e0a1 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/encryption.proto +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/encryption.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax="proto2"; // This file contains protocol buffers that are used throughout HDFS -- i.e. // by the client, server, and data transfer protocols. diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/hdfs.proto b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/hdfs.proto index 04f8730..c07dd9e 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/hdfs.proto +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/hdfs.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax="proto2"; // This file contains protocol buffers that are used throughout HDFS -- i.e. // by the client, server, and data transfer protocols. diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/inotify.proto b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/inotify.proto index 5339902..dfc6618 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/inotify.proto +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/inotify.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax="proto2"; // This file contains protocol buffers used to communicate edits to clients // as part of the inotify system. diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/xattr.proto b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/xattr.proto index 6c8b5eb..a53aa86 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/xattr.proto +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/xattr.proto @@ -15,7 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +syntax="proto2"; option java_package = "org.apache.hadoop.hdfs.protocol.proto"; option java_outer_classname = "XAttrProtos"; option java_generate_equals_and_hash = true; diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/pom.xml b/hadoop-hdfs-project/hadoop-hdfs-rbf/pom.xml index 4800108..30705bf 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-rbf/pom.xml +++ b/hadoop-hdfs-project/hadoop-hdfs-rbf/pom.xml @@ -179,29 +179,21 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd"> </executions> </plugin> <plugin> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-maven-plugins</artifactId> + <groupId>org.xolstice.maven.plugins</groupId> + <artifactId>protobuf-maven-plugin</artifactId> <executions> <execution> - <id>compile-protoc</id> - <goals> - <goal>protoc</goal> - </goals> + <id>src-compile-protoc</id> <configuration> - <protocVersion>${protobuf.version}</protocVersion> - <protocCommand>${protoc.path}</protocCommand> - <imports> - <param>${basedir}/../hadoop-hdfs-client/src/main/proto</param> - <param>${basedir}/../../hadoop-common-project/hadoop-common/src/main/proto</param> - <param>${basedir}/src/main/proto</param> - </imports> - <source> - <directory>${basedir}/src/main/proto</directory> - <includes> - <include>FederationProtocol.proto</include> - <include>RouterProtocol.proto</include> - </includes> - </source> + <skip>false</skip> + <additionalProtoPathElements> + <additionalProtoPathElement> + ${basedir}/../../hadoop-common-project/hadoop-common/src/main/proto + </additionalProtoPathElement> + <additionalProtoPathElement> + ${basedir}/../hadoop-hdfs-client/src/main/proto + </additionalProtoPathElement> + </additionalProtoPathElements> </configuration> </execution> </executions> diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/proto/FederationProtocol.proto b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/proto/FederationProtocol.proto index 2ea240c..a7ef1a4 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/proto/FederationProtocol.proto +++ b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/proto/FederationProtocol.proto @@ -15,7 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.hdfs.federation.protocol.proto"; option java_outer_classname = "HdfsServerFederationProtos"; option java_generic_services = true; diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/proto/RouterProtocol.proto b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/proto/RouterProtocol.proto index f3a2b6e..3eff092 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/proto/RouterProtocol.proto +++ b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/proto/RouterProtocol.proto @@ -15,7 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.hdfs.protocol.proto"; option java_outer_classname = "RouterProtocolProtos"; option java_generic_services = true; diff --git a/hadoop-hdfs-project/hadoop-hdfs/pom.xml b/hadoop-hdfs-project/hadoop-hdfs/pom.xml index d7ec46e..71de661 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/pom.xml +++ b/hadoop-hdfs-project/hadoop-hdfs/pom.xml @@ -324,37 +324,21 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd"> </executions> </plugin> <plugin> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-maven-plugins</artifactId> + <groupId>org.xolstice.maven.plugins</groupId> + <artifactId>protobuf-maven-plugin</artifactId> <executions> <execution> - <id>compile-protoc</id> - <goals> - <goal>protoc</goal> - </goals> + <id>src-compile-protoc</id> <configuration> - <protocVersion>${protobuf.version}</protocVersion> - <protocCommand>${protoc.path}</protocCommand> - <imports> - <param>${basedir}/../../hadoop-common-project/hadoop-common/src/main/proto</param> - <param>${basedir}/../hadoop-hdfs-client/src/main/proto</param> - <param>${basedir}/src/main/proto</param> - </imports> - <source> - <directory>${basedir}/src/main/proto</directory> - <includes> - <include>HdfsServer.proto</include> - <include>DatanodeProtocol.proto</include> - <include>DatanodeLifelineProtocol.proto</include> - <include>HAZKInfo.proto</include> - <include>InterDatanodeProtocol.proto</include> - <include>JournalProtocol.proto</include> - <include>NamenodeProtocol.proto</include> - <include>QJournalProtocol.proto</include> - <include>editlog.proto</include> - <include>fsimage.proto</include> - </includes> - </source> + <skip>false</skip> + <additionalProtoPathElements> + <additionalProtoPathElement> + ${basedir}/../../hadoop-common-project/hadoop-common/src/main/proto + </additionalProtoPathElement> + <additionalProtoPathElement> + ${basedir}/../hadoop-hdfs-client/src/main/proto + </additionalProtoPathElement> + </additionalProtoPathElements> </configuration> </execution> </executions> diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/contrib/bkjournal/src/main/proto/bkjournal.proto b/hadoop-hdfs-project/hadoop-hdfs/src/contrib/bkjournal/src/main/proto/bkjournal.proto index fc48718..4b7a5f2 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/contrib/bkjournal/src/main/proto/bkjournal.proto +++ b/hadoop-hdfs-project/hadoop-hdfs/src/contrib/bkjournal/src/main/proto/bkjournal.proto @@ -19,6 +19,7 @@ // This file contains protocol buffers that are used by bkjournal // mostly for storing data in zookeeper +syntax = "proto2"; option java_package = "org.apache.hadoop.contrib.bkjournal"; option java_outer_classname = "BKJournalProtos"; option java_generate_equals_and_hash = true; @@ -45,4 +46,4 @@ message MaxTxIdProto { message CurrentInprogressProto { required string path = 1; optional string hostname = 2; -} \ No newline at end of file +} diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/DatanodeLifelineProtocol.proto b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/DatanodeLifelineProtocol.proto index b6ab756..e10a886 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/DatanodeLifelineProtocol.proto +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/DatanodeLifelineProtocol.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.hdfs.protocol.proto"; option java_outer_classname = "DatanodeLifelineProtocolProtos"; option java_generic_services = true; diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/DatanodeProtocol.proto b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/DatanodeProtocol.proto index 0e4b2fb..89b7c96 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/DatanodeProtocol.proto +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/DatanodeProtocol.proto @@ -24,7 +24,7 @@ // This file contains protocol buffers that are used throughout HDFS -- i.e. // by the client, server, and data transfer protocols. - +syntax = "proto2"; option java_package = "org.apache.hadoop.hdfs.protocol.proto"; option java_outer_classname = "DatanodeProtocolProtos"; option java_generic_services = true; diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/HAZKInfo.proto b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/HAZKInfo.proto index aa8b6be..6d45a93 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/HAZKInfo.proto +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/HAZKInfo.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.hdfs.server.namenode.ha.proto"; option java_outer_classname = "HAZKInfoProtos"; package hadoop.hdfs; diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/HdfsServer.proto b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/HdfsServer.proto index 4c84615..266024e 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/HdfsServer.proto +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/HdfsServer.proto @@ -24,7 +24,7 @@ // This file contains protocol buffers that are used throughout HDFS -- i.e. // by the client, server, and data transfer protocols. - +syntax = "proto2"; option java_package = "org.apache.hadoop.hdfs.protocol.proto"; option java_outer_classname = "HdfsServerProtos"; diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/InterDatanodeProtocol.proto b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/InterDatanodeProtocol.proto index 580f8d3..47332a8 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/InterDatanodeProtocol.proto +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/InterDatanodeProtocol.proto @@ -24,7 +24,7 @@ // This file contains protocol buffers that are used throughout HDFS -- i.e. // by the client, server, and data transfer protocols. - +syntax = "proto2"; option java_package = "org.apache.hadoop.hdfs.protocol.proto"; option java_outer_classname = "InterDatanodeProtocolProtos"; option java_generic_services = true; diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/JournalProtocol.proto b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/JournalProtocol.proto index 3fd029b..35c401e 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/JournalProtocol.proto +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/JournalProtocol.proto @@ -24,7 +24,7 @@ // This file contains protocol buffers that are used throughout HDFS -- i.e. // by the client, server, and data transfer protocols. - +syntax = "proto2"; option java_package = "org.apache.hadoop.hdfs.protocol.proto"; option java_outer_classname = "JournalProtocolProtos"; option java_generic_services = true; diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/NamenodeProtocol.proto b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/NamenodeProtocol.proto index 8aa09d3..2010398 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/NamenodeProtocol.proto +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/NamenodeProtocol.proto @@ -24,7 +24,7 @@ // This file contains protocol buffers that are used throughout HDFS -- i.e. // by the client, server, and data transfer protocols. - +syntax = "proto2"; option java_package = "org.apache.hadoop.hdfs.protocol.proto"; option java_outer_classname = "NamenodeProtocolProtos"; option java_generic_services = true; diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/QJournalProtocol.proto b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/QJournalProtocol.proto index d230166..b33d99c 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/QJournalProtocol.proto +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/QJournalProtocol.proto @@ -21,7 +21,7 @@ * Please see http://wiki.apache.org/hadoop/Compatibility * for what changes are allowed for a *stable* .proto interface. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.hdfs.qjournal.protocol"; option java_outer_classname = "QJournalProtocolProtos"; option java_generic_services = true; diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/editlog.proto b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/editlog.proto index f25fe59..22fd743 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/editlog.proto +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/editlog.proto @@ -15,7 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.hdfs.protocol.proto"; option java_outer_classname = "EditLogProtos"; option java_generate_equals_and_hash = true; diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/fsimage.proto b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/fsimage.proto index 5fb7c69..2ea26cf 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/fsimage.proto +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/fsimage.proto @@ -15,7 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +syntax = "proto2"; option java_package = "org.apache.hadoop.hdfs.server.namenode"; option java_outer_classname = "FsImageProto"; diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml index 293e30f..7aaf826 100644 --- a/hadoop-project/pom.xml +++ b/hadoop-project/pom.xml @@ -84,6 +84,10 @@ <protobuf.version>2.5.0</protobuf.version> <protoc.path>${env.HADOOP_PROTOC_PATH}</protoc.path> + <!-- Maven protoc compiler --> + <protobuf-maven-plugin.version>0.5.1</protobuf-maven-plugin.version> + <os-maven-plugin.version>1.5.0.Final</os-maven-plugin.version> + <zookeeper.version>3.4.9</zookeeper.version> <curator.version>2.7.1</curator.version> <findbugs.version>3.0.0</findbugs.version> @@ -1423,9 +1427,64 @@ <artifactId>hadoop-maven-plugins</artifactId> <version>${project.version}</version> </plugin> + <plugin> + <groupId>org.xolstice.maven.plugins</groupId> + <artifactId>protobuf-maven-plugin</artifactId> + <version>${protobuf-maven-plugin.version}</version> + <extensions>true</extensions> + <dependencies> + <!-- for compiling with java7 --> + <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + <version>20.0</version> + </dependency> + </dependencies> + <configuration> + <protocArtifact> + com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier} + </protocArtifact> + <attachProtoSources>false</attachProtoSources> + </configuration> + <executions> + <execution> + <id>src-compile-protoc</id> + <phase>generate-sources</phase> + <goals> + <goal>compile</goal> + </goals> + <configuration> + <includeDependenciesInDescriptorSet>false</includeDependenciesInDescriptorSet> + <protoSourceRoot>${basedir}/src/main/proto</protoSourceRoot> + <outputDirectory>${project.build.directory}/generated-sources/java</outputDirectory> + <clearOutputDirectory>false</clearOutputDirectory> + <skip>true</skip> + </configuration> + </execution> + <execution> + <id>src-test-compile-protoc</id> + <phase>generate-test-sources</phase> + <goals> + <goal>test-compile</goal> + </goals> + <configuration> + <protoTestSourceRoot>${basedir}/src/test/proto</protoTestSourceRoot> + <outputDirectory>${project.build.directory}/generated-test-sources/java</outputDirectory> + <clearOutputDirectory>false</clearOutputDirectory> + <skip>true</skip> + </configuration> + </execution> + </executions> + </plugin> </plugins> </pluginManagement> - + <extensions> + <extension> + <groupId>kr.motd.maven</groupId> + <artifactId>os-maven-plugin</artifactId> + <version>${os-maven-plugin.version}</version> + </extension> + </extensions> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org