Revert "HBASE-17056 Remove checked in PB generated files Selective add of 
dependency on"
Build is unstable and has interesting issues around CLASSPATH. Revert
for now.

This reverts commit 1049025e1da0bb4d1966ecca9d7d8edc564c0537.


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/b2b5cd6d
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/b2b5cd6d
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/b2b5cd6d

Branch: refs/heads/branch-2
Commit: b2b5cd6de613e82fe41b4312ebdb32ff85fae316
Parents: 1ead5f9
Author: Michael Stack <[email protected]>
Authored: Thu Jul 6 21:48:41 2017 -0700
Committer: Michael Stack <[email protected]>
Committed: Thu Jul 6 21:48:41 2017 -0700

----------------------------------------------------------------------
 hbase-client/pom.xml                            |     4 -
 hbase-endpoint/README.txt                       |    25 +-
 hbase-endpoint/pom.xml                          |   259 +-
 .../example/generated/BulkDeleteProtos.java     |  1792 +
 .../generated/ColumnAggregationProtos.java      |  1277 +
 .../ColumnAggregationWithErrorsProtos.java      |  1290 +
 ...ColumnAggregationWithNullResponseProtos.java |  1283 +
 .../DummyRegionServerEndpointProtos.java        |  1225 +
 .../IncrementCounterProcessorTestProtos.java    |  4059 +
 .../protobuf/generated/AggregateProtos.java     |  2375 +
 .../generated/SecureBulkLoadProtos.java         |  2088 +
 hbase-examples/README.txt                       |    27 +-
 hbase-examples/pom.xml                          |   312 +-
 .../example/generated/ExampleProtos.java        |  1149 +
 hbase-procedure/pom.xml                         |     4 -
 hbase-protocol-shaded/README.txt                |    49 +-
 hbase-protocol-shaded/pom.xml                   |   283 +-
 .../com/google/protobuf/AbstractMessage.java    |   646 +
 .../google/protobuf/AbstractMessageLite.java    |   383 +
 .../com/google/protobuf/AbstractParser.java     |   258 +
 .../google/protobuf/AbstractProtobufList.java   |   180 +
 .../hbase/shaded/com/google/protobuf/Any.java   |   899 +
 .../com/google/protobuf/AnyOrBuilder.java       |    70 +
 .../shaded/com/google/protobuf/AnyProto.java    |    59 +
 .../hbase/shaded/com/google/protobuf/Api.java   |  2473 +
 .../com/google/protobuf/ApiOrBuilder.java       |   258 +
 .../shaded/com/google/protobuf/ApiProto.java    |    98 +
 .../com/google/protobuf/BlockingRpcChannel.java |    51 +
 .../com/google/protobuf/BlockingService.java    |    64 +
 .../shaded/com/google/protobuf/BoolValue.java   |   452 +
 .../com/google/protobuf/BoolValueOrBuilder.java |    18 +
 .../com/google/protobuf/BooleanArrayList.java   |   272 +
 .../com/google/protobuf/ByteBufferWriter.java   |   185 +
 .../shaded/com/google/protobuf/ByteInput.java   |    81 +
 .../google/protobuf/ByteInputByteString.java    |   251 +
 .../shaded/com/google/protobuf/ByteOutput.java  |   116 +
 .../shaded/com/google/protobuf/ByteString.java  |  1565 +
 .../shaded/com/google/protobuf/BytesValue.java  |   454 +
 .../google/protobuf/BytesValueOrBuilder.java    |    18 +
 .../com/google/protobuf/CodedInputStream.java   |  3549 +
 .../com/google/protobuf/CodedOutputStream.java  |  3001 +
 .../com/google/protobuf/DescriptorProtos.java   | 39141 ++++++++
 .../shaded/com/google/protobuf/Descriptors.java |  2547 +
 .../com/google/protobuf/DoubleArrayList.java    |   273 +
 .../shaded/com/google/protobuf/DoubleValue.java |   454 +
 .../google/protobuf/DoubleValueOrBuilder.java   |    18 +
 .../shaded/com/google/protobuf/Duration.java    |   618 +
 .../com/google/protobuf/DurationOrBuilder.java  |    33 +
 .../com/google/protobuf/DurationProto.java      |    59 +
 .../com/google/protobuf/DynamicMessage.java     |   684 +
 .../hbase/shaded/com/google/protobuf/Empty.java |   386 +
 .../com/google/protobuf/EmptyOrBuilder.java     |     9 +
 .../shaded/com/google/protobuf/EmptyProto.java  |    58 +
 .../hbase/shaded/com/google/protobuf/Enum.java  |  1745 +
 .../com/google/protobuf/EnumOrBuilder.java      |   157 +
 .../shaded/com/google/protobuf/EnumValue.java   |  1044 +
 .../com/google/protobuf/EnumValueOrBuilder.java |    80 +
 .../com/google/protobuf/ExperimentalApi.java    |    66 +
 .../shaded/com/google/protobuf/Extension.java   |    86 +
 .../com/google/protobuf/ExtensionLite.java      |    63 +
 .../com/google/protobuf/ExtensionRegistry.java  |   396 +
 .../protobuf/ExtensionRegistryFactory.java      |    95 +
 .../google/protobuf/ExtensionRegistryLite.java  |   227 +
 .../hbase/shaded/com/google/protobuf/Field.java |  2450 +
 .../shaded/com/google/protobuf/FieldMask.java   |   903 +
 .../com/google/protobuf/FieldMaskOrBuilder.java |    44 +
 .../com/google/protobuf/FieldMaskProto.java     |    59 +
 .../com/google/protobuf/FieldOrBuilder.java     |   189 +
 .../shaded/com/google/protobuf/FieldSet.java    |   909 +
 .../com/google/protobuf/FloatArrayList.java     |   272 +
 .../shaded/com/google/protobuf/FloatValue.java  |   454 +
 .../google/protobuf/FloatValueOrBuilder.java    |    18 +
 .../com/google/protobuf/GeneratedMessage.java   |  3047 +
 .../google/protobuf/GeneratedMessageLite.java   |  2419 +
 .../com/google/protobuf/GeneratedMessageV3.java |  2838 +
 .../shaded/com/google/protobuf/Int32Value.java  |   451 +
 .../google/protobuf/Int32ValueOrBuilder.java    |    18 +
 .../shaded/com/google/protobuf/Int64Value.java  |   452 +
 .../google/protobuf/Int64ValueOrBuilder.java    |    18 +
 .../com/google/protobuf/IntArrayList.java       |   272 +
 .../shaded/com/google/protobuf/Internal.java    |   751 +
 .../InvalidProtocolBufferException.java         |   146 +
 .../shaded/com/google/protobuf/LazyField.java   |   154 +
 .../com/google/protobuf/LazyFieldLite.java      |   437 +
 .../google/protobuf/LazyStringArrayList.java    |   423 +
 .../com/google/protobuf/LazyStringList.java     |   174 +
 .../shaded/com/google/protobuf/ListValue.java   |   814 +
 .../com/google/protobuf/ListValueOrBuilder.java |    53 +
 .../com/google/protobuf/LongArrayList.java      |   272 +
 .../shaded/com/google/protobuf/MapEntry.java    |   449 +
 .../com/google/protobuf/MapEntryLite.java       |   226 +
 .../shaded/com/google/protobuf/MapField.java    |   624 +
 .../com/google/protobuf/MapFieldLite.java       |   224 +
 .../shaded/com/google/protobuf/Message.java     |   292 +
 .../shaded/com/google/protobuf/MessageLite.java |   341 +
 .../google/protobuf/MessageLiteOrBuilder.java   |    60 +
 .../google/protobuf/MessageLiteToString.java    |   239 +
 .../com/google/protobuf/MessageOrBuilder.java   |   143 +
 .../com/google/protobuf/MessageReflection.java  |   990 +
 .../shaded/com/google/protobuf/Method.java      |  1541 +
 .../com/google/protobuf/MethodOrBuilder.java    |   142 +
 .../hbase/shaded/com/google/protobuf/Mixin.java |   812 +
 .../com/google/protobuf/MixinOrBuilder.java     |    47 +
 .../com/google/protobuf/MutabilityOracle.java   |    48 +
 .../com/google/protobuf/NioByteString.java      |   291 +
 .../shaded/com/google/protobuf/NullValue.java   |   108 +
 .../shaded/com/google/protobuf/Option.java      |   818 +
 .../com/google/protobuf/OptionOrBuilder.java    |    67 +
 .../shaded/com/google/protobuf/Parser.java      |   272 +
 .../com/google/protobuf/ProtobufArrayList.java  |   105 +
 .../google/protobuf/ProtocolMessageEnum.java    |    59 +
 .../com/google/protobuf/ProtocolStringList.java |    48 +
 .../google/protobuf/RepeatedFieldBuilder.java   |   708 +
 .../google/protobuf/RepeatedFieldBuilderV3.java |   708 +
 .../com/google/protobuf/RopeByteString.java     |   897 +
 .../shaded/com/google/protobuf/RpcCallback.java |    47 +
 .../shaded/com/google/protobuf/RpcChannel.java  |    71 +
 .../com/google/protobuf/RpcController.java      |   118 +
 .../shaded/com/google/protobuf/RpcUtil.java     |   136 +
 .../shaded/com/google/protobuf/Service.java     |   117 +
 .../com/google/protobuf/ServiceException.java   |    52 +
 .../com/google/protobuf/SingleFieldBuilder.java |   241 +
 .../google/protobuf/SingleFieldBuilderV3.java   |   241 +
 .../com/google/protobuf/SmallSortedMap.java     |   673 +
 .../com/google/protobuf/SourceContext.java      |   539 +
 .../google/protobuf/SourceContextOrBuilder.java |    29 +
 .../com/google/protobuf/SourceContextProto.java |    60 +
 .../shaded/com/google/protobuf/StringValue.java |   532 +
 .../google/protobuf/StringValueOrBuilder.java   |    27 +
 .../shaded/com/google/protobuf/Struct.java      |   705 +
 .../com/google/protobuf/StructOrBuilder.java    |    63 +
 .../shaded/com/google/protobuf/StructProto.java |   103 +
 .../shaded/com/google/protobuf/Syntax.java      |   123 +
 .../shaded/com/google/protobuf/TextFormat.java  |  2108 +
 .../com/google/protobuf/TextFormatEscaper.java  |   137 +
 .../protobuf/TextFormatParseInfoTree.java       |   226 +
 .../protobuf/TextFormatParseLocation.java       |   104 +
 .../shaded/com/google/protobuf/Timestamp.java   |   616 +
 .../com/google/protobuf/TimestampOrBuilder.java |    32 +
 .../com/google/protobuf/TimestampProto.java     |    59 +
 .../hbase/shaded/com/google/protobuf/Type.java  |  1967 +
 .../com/google/protobuf/TypeOrBuilder.java      |   192 +
 .../shaded/com/google/protobuf/TypeProto.java   |   141 +
 .../shaded/com/google/protobuf/UInt32Value.java |   451 +
 .../google/protobuf/UInt32ValueOrBuilder.java   |    18 +
 .../shaded/com/google/protobuf/UInt64Value.java |   452 +
 .../google/protobuf/UInt64ValueOrBuilder.java   |    18 +
 .../protobuf/UninitializedMessageException.java |    99 +
 .../com/google/protobuf/UnknownFieldSet.java    |  1042 +
 .../google/protobuf/UnknownFieldSetLite.java    |   432 +
 .../protobuf/UnmodifiableLazyStringList.java    |   210 +
 .../google/protobuf/UnsafeByteOperations.java   |   131 +
 .../shaded/com/google/protobuf/UnsafeUtil.java  |   295 +
 .../hbase/shaded/com/google/protobuf/Utf8.java  |  1764 +
 .../hbase/shaded/com/google/protobuf/Value.java |  1410 +
 .../com/google/protobuf/ValueOrBuilder.java     |    98 +
 .../shaded/com/google/protobuf/WireFormat.java  |   260 +
 .../com/google/protobuf/WrappersProto.java      |   153 +
 .../google/protobuf/compiler/PluginProtos.java  |  5424 ++
 .../protobuf/generated/TestProcedureProtos.java |   608 +
 .../ipc/protobuf/generated/TestProtos.java      |  2987 +
 .../generated/TestRpcServiceProtos.java         |   575 +
 .../protobuf/generated/AccessControlProtos.java | 11171 +++
 .../shaded/protobuf/generated/AdminProtos.java  | 30634 ++++++
 .../shaded/protobuf/generated/BackupProtos.java |  7013 ++
 .../shaded/protobuf/generated/CellProtos.java   |  2287 +
 .../shaded/protobuf/generated/ClientProtos.java | 42367 +++++++++
 .../protobuf/generated/ClusterIdProtos.java     |   668 +
 .../protobuf/generated/ClusterStatusProtos.java | 15191 +++
 .../protobuf/generated/ComparatorProtos.java    |  5719 ++
 .../protobuf/generated/EncryptionProtos.java    |   980 +
 .../protobuf/generated/ErrorHandlingProtos.java |  2997 +
 .../shaded/protobuf/generated/FSProtos.java     |  1311 +
 .../shaded/protobuf/generated/FilterProtos.java | 18739 ++++
 .../shaded/protobuf/generated/HBaseProtos.java  | 19346 ++++
 .../shaded/protobuf/generated/HFileProtos.java  |  2449 +
 .../protobuf/generated/LoadBalancerProtos.java  |   524 +
 .../protobuf/generated/LockServiceProtos.java   |  7595 ++
 .../protobuf/generated/MapReduceProtos.java     |  1804 +
 .../generated/MasterProcedureProtos.java        | 31266 +++++++
 .../shaded/protobuf/generated/MasterProtos.java | 82418 +++++++++++++++++
 .../protobuf/generated/ProcedureProtos.java     |  7844 ++
 .../shaded/protobuf/generated/QuotaProtos.java  | 14525 +++
 .../shaded/protobuf/generated/RPCProtos.java    |  8299 ++
 .../generated/RegionNormalizerProtos.java       |   524 +
 .../generated/RegionServerStatusProtos.java     | 11621 +++
 .../protobuf/generated/ReplicationProtos.java   | 12909 +++
 .../protobuf/generated/SnapshotProtos.java      |  6491 ++
 .../protobuf/generated/TracingProtos.java       |   628 +
 .../shaded/protobuf/generated/WALProtos.java    | 12308 +++
 .../protobuf/generated/ZooKeeperProtos.java     |  4717 +
 hbase-protocol/README.txt                       |    16 +-
 hbase-protocol/pom.xml                          |   266 +-
 .../protobuf/generated/PingProtos.java          |  4890 +
 .../protobuf/generated/TestProcedureProtos.java |   530 +
 .../ipc/protobuf/generated/TestProtos.java      |  2778 +
 .../generated/TestRpcServiceProtos.java         |   568 +
 .../protobuf/generated/AccessControlProtos.java | 10656 +++
 .../hbase/protobuf/generated/AdminProtos.java   | 24326 +++++
 .../generated/AuthenticationProtos.java         |  4659 +
 .../hbase/protobuf/generated/CellProtos.java    |  2243 +
 .../hbase/protobuf/generated/ClientProtos.java  | 41409 +++++++++
 .../protobuf/generated/ClusterIdProtos.java     |   628 +
 .../protobuf/generated/ClusterStatusProtos.java | 14975 +++
 .../protobuf/generated/ComparatorProtos.java    |  5419 ++
 .../protobuf/generated/EncryptionProtos.java    |   954 +
 .../protobuf/generated/ErrorHandlingProtos.java |  2895 +
 .../hbase/protobuf/generated/FSProtos.java      |  1235 +
 .../hbase/protobuf/generated/FilterProtos.java  | 17809 ++++
 .../hbase/protobuf/generated/HBaseProtos.java   | 19893 ++++
 .../hbase/protobuf/generated/HFileProtos.java   |  2403 +
 .../protobuf/generated/LoadBalancerProtos.java  |   485 +
 .../protobuf/generated/MapReduceProtos.java     |  1737 +
 .../generated/MultiRowMutationProtos.java       |  2458 +
 .../hbase/protobuf/generated/QuotaProtos.java   |  7342 ++
 .../hbase/protobuf/generated/RPCProtos.java     |  6299 ++
 .../protobuf/generated/RowProcessorProtos.java  |  1701 +
 .../protobuf/generated/SnapshotProtos.java      |  4789 +
 .../hbase/protobuf/generated/TracingProtos.java |   591 +
 .../generated/VisibilityLabelsProtos.java       |  6649 ++
 .../hbase/protobuf/generated/WALProtos.java     | 12108 +++
 .../protobuf/generated/ZooKeeperProtos.java     |  8410 ++
 hbase-rest/README.txt                           |    21 +-
 hbase-rest/pom.xml                              |    67 +-
 .../rest/protobuf/generated/CellMessage.java    |   731 +
 .../rest/protobuf/generated/CellSetMessage.java |  1521 +
 .../protobuf/generated/ColumnSchemaMessage.java |  1904 +
 .../generated/NamespacePropertiesMessage.java   |  1394 +
 .../protobuf/generated/NamespacesMessage.java   |   547 +
 .../rest/protobuf/generated/ScannerMessage.java |  1578 +
 .../generated/StorageClusterStatusMessage.java  |  3955 +
 .../protobuf/generated/TableInfoMessage.java    |  1802 +
 .../protobuf/generated/TableListMessage.java    |   547 +
 .../protobuf/generated/TableSchemaMessage.java  |  2125 +
 .../rest/protobuf/generated/VersionMessage.java |  1147 +
 hbase-rsgroup/README.txt                        |    29 +-
 hbase-rsgroup/pom.xml                           |    68 +-
 .../protobuf/generated/RSGroupAdminProtos.java  | 13570 +++
 .../hbase/protobuf/generated/RSGroupProtos.java |  1331 +
 hbase-server/pom.xml                            |    12 -
 hbase-spark/README.txt                          |    32 +-
 hbase-spark/pom.xml                             |  1259 +-
 .../protobuf/generated/SparkFilterProtos.java   |  2006 +
 pom.xml                                         |    17 +-
 src/main/asciidoc/_chapters/protobuf.adoc       |    10 +-
 245 files changed, 745280 insertions(+), 1182 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/b2b5cd6d/hbase-client/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-client/pom.xml b/hbase-client/pom.xml
index 8ad7821..e4ef336 100644
--- a/hbase-client/pom.xml
+++ b/hbase-client/pom.xml
@@ -87,10 +87,6 @@
   </build>
 
   <dependencies>
-    <dependency>
-      <groupId>org.apache.hbase.thirdparty</groupId>
-      <artifactId>hbase-shaded-protobuf</artifactId>
-    </dependency>
     <!-- Intra-project dependencies -->
     <dependency>
       <groupId>org.apache.hbase</groupId>

http://git-wip-us.apache.org/repos/asf/hbase/blob/b2b5cd6d/hbase-endpoint/README.txt
----------------------------------------------------------------------
diff --git a/hbase-endpoint/README.txt b/hbase-endpoint/README.txt
index 2d2cb4b..861a776 100644
--- a/hbase-endpoint/README.txt
+++ b/hbase-endpoint/README.txt
@@ -1,13 +1,24 @@
 ON PROTOBUFS
-This maven module has protobuf definition files ('.protos') used by hbase
-Coprocessor Endpoints that ship with hbase core (including tests). Coprocessor
+This maven module has  protobuf definition files ('.protos') used by hbase
+Coprocessor Endpoints that ship with hbase core including tests. Coprocessor
 Endpoints are meant to be standalone, independent code not reliant on hbase
 internals. They define their Service using protobuf. The protobuf version
 they use can be distinct from that used by HBase internally since HBase started
 shading its protobuf references. Endpoints have no access to the shaded 
protobuf
-hbase uses. They do have access to the content of hbase-protocol -- the
-.protos found in this module -- but avoid using as much of this as you can as 
it is
-liable to change.
+hbase uses. They do have access to the content of hbase-protocol but avoid 
using
+as much of this as you can as it is liable to change.
 
-Generation of java files from protobuf .proto files included here is done as
-part of the build.
+Generation of java files from protobuf .proto files included here is done apart
+from the build. Run the generation whenever you make changes to the .orotos 
files
+and then check in the produced java (The reasoning is that change is infrequent
+so why pay the price of generating files anew on each build.
+
+To generate java files from protos run:
+
+ $ mvn compile -Dcompile-protobuf
+or
+ $ mvn compile -Pcompile-protobuf
+
+After you've done the above, check it and then check in changes (or post a 
patch
+on a JIRA with your definition file changes and the generated files). Be 
careful
+to notice new files and files removed and do appropriate git rm/adds.

http://git-wip-us.apache.org/repos/asf/hbase/blob/b2b5cd6d/hbase-endpoint/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-endpoint/pom.xml b/hbase-endpoint/pom.xml
index 2e579d7..b9eecef 100644
--- a/hbase-endpoint/pom.xml
+++ b/hbase-endpoint/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-  <!--
+    <!--
     /**
      * Licensed to the Apache Software Foundation (ASF) under one
      * or more contributor license agreements.  See the NOTICE file
@@ -19,34 +19,37 @@
      * limitations under the License.
      */
     -->
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <artifactId>hbase</artifactId>
-    <groupId>org.apache.hbase</groupId>
-    <version>2.0.0-alpha-1</version>
-    <relativePath>..</relativePath>
-  </parent>
-  <artifactId>hbase-endpoint</artifactId>
-  <name>Apache HBase - Coprocessor Endpoint</name>
-  <description>HBase Coprocessor Endpoint implementations</description>
-  <!--REMOVE-->
-  <properties>
-    <maven.javadoc.skip>true</maven.javadoc.skip>
-  </properties>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-site-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-      <!-- Make a jar and put the sources in the jar -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-source-plugin</artifactId>
-      </plugin>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>hbase</artifactId>
+        <groupId>org.apache.hbase</groupId>
+        <version>2.0.0-alpha-1</version>
+        <relativePath>..</relativePath>
+    </parent>
+
+    <artifactId>hbase-endpoint</artifactId>
+    <name>Apache HBase - Coprocessor Endpoint</name>
+    <description>HBase Coprocessor Endpoint implementations</description>
+<!--REMOVE-->
+
+    <properties>
+      <maven.javadoc.skip>true</maven.javadoc.skip>
+    </properties>
+
+    <build>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-site-plugin</artifactId>
+          <configuration>
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <!-- Make a jar and put the sources in the jar -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-source-plugin</artifactId>
+        </plugin>
       <plugin>
         <!--Make it so assembly:single does nothing in here-->
         <artifactId>maven-assembly-plugin</artifactId>
@@ -54,56 +57,39 @@
           <skipAssembly>true</skipAssembly>
         </configuration>
       </plugin>
-      <plugin>
-        <groupId>org.xolstice.maven.plugins</groupId>
-        <artifactId>protobuf-maven-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>compile-protoc</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>compile</goal>
-            </goals>
-             <configuration>
-              <additionalProtoPathElements>
-                
<additionalProtoPathElement>${basedir}/../hbase-protocol/src/main/protobuf</additionalProtoPathElement>
-              </additionalProtoPathElements>
-             </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-    <pluginManagement>
-      <plugins>
-        <!--This plugin's configuration is used to store Eclipse m2e settings 
only. It has no influence on the Maven build itself.-->
-        <plugin>
-          <groupId>org.eclipse.m2e</groupId>
-          <artifactId>lifecycle-mapping</artifactId>
-          <version>1.0.0</version>
-          <configuration>
-            <lifecycleMappingMetadata>
-              <pluginExecutions>
-                <pluginExecution>
-                  <pluginExecutionFilter>
-                    <groupId>org.apache.hadoop</groupId>
-                    <artifactId>hadoop-maven-plugins</artifactId>
-                    <versionRange>[2.0.5-alpha,)</versionRange>
-                    <goals>
-                      <goal>protoc</goal>
-                    </goals>
-                  </pluginExecutionFilter>
-                  <action>
-                    <ignore/>
-                  </action>
-                </pluginExecution>
-              </pluginExecutions>
-            </lifecycleMappingMetadata>
-          </configuration>
-        </plugin>
       </plugins>
-    </pluginManagement>
-  </build>
-  <dependencies>
+      <pluginManagement>
+        <plugins>
+          <!--This plugin's configuration is used to store Eclipse m2e 
settings only. It has no influence on the Maven build itself.-->
+          <plugin>
+            <groupId>org.eclipse.m2e</groupId>
+            <artifactId>lifecycle-mapping</artifactId>
+            <configuration>
+              <lifecycleMappingMetadata>
+                <pluginExecutions>
+                  <pluginExecution>
+                    <pluginExecutionFilter>
+                      <groupId>org.apache.hadoop</groupId>
+                      <artifactId>hadoop-maven-plugins</artifactId>
+                      <versionRange>[2.0.5-alpha,)</versionRange>
+                      <goals>
+                        <goal>protoc</goal>
+                      </goals>
+                    </pluginExecutionFilter>
+                    <action>
+                      <ignore></ignore>
+                    </action>
+                  </pluginExecution>
+                </pluginExecutions>
+              </lifecycleMappingMetadata>
+            </configuration>
+          </plugin>
+         </plugins>
+      </pluginManagement>
+    </build>
+
+    <dependencies>
+      <!-- Intra-project dependencies -->
       <dependency>
         <groupId>org.apache.hbase</groupId>
         <artifactId>hbase-annotations</artifactId>
@@ -136,57 +122,88 @@
       <type>test-jar</type>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.apache.hbase</groupId>
-      <artifactId>hbase-protocol</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.hbase</groupId>
-      <artifactId>hbase-client</artifactId>
-    </dependency>
-    <!--Some of the CPEPs use hbase server-side internals; they shouldn't!
+      <dependency>
+        <groupId>org.apache.hbase</groupId>
+        <artifactId>hbase-protocol</artifactId>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.hbase</groupId>
+        <artifactId>hbase-client</artifactId>
+      </dependency>
+      <!--Some of the CPEPs use hbase server-side internals; they shouldn't!
            -->
-    <dependency>
-      <groupId>org.apache.hbase</groupId>
-      <artifactId>hbase-server</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.hbase</groupId>
-      <artifactId>hbase-server</artifactId>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <!-- General dependencies -->
-    <dependency>
-      <groupId>commons-logging</groupId>
-      <artifactId>commons-logging</artifactId>
-    </dependency>
-  </dependencies>
-  <profiles>
-    <!-- Skip the tests in this module -->
-    <profile>
-      <id>skipRpcTests</id>
-      <activation>
-        <property>
-          <name>skipRpcTests</name>
-        </property>
-      </activation>
-      <properties>
-        <surefire.skipFirstPart>true</surefire.skipFirstPart>
-        <surefire.skipSecondPart>true</surefire.skipSecondPart>
-      </properties>
-    </profile>
+      <dependency>
+        <groupId>org.apache.hbase</groupId>
+        <artifactId>hbase-server</artifactId>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.hbase</groupId>
+        <artifactId>hbase-server</artifactId>
+        <type>test-jar</type>
+        <scope>test</scope>
+      </dependency>
+      <!-- General dependencies -->
+      <dependency>
+        <groupId>commons-logging</groupId>
+        <artifactId>commons-logging</artifactId>
+      </dependency>
+    </dependencies>
+
+    <profiles>
+        <!-- Skip the tests in this module -->
+        <profile>
+            <id>skipRpcTests</id>
+            <activation>
+                <property>
+                    <name>skipRpcTests</name>
+                </property>
+            </activation>
+            <properties>
+                <surefire.skipFirstPart>true</surefire.skipFirstPart>
+                <surefire.skipSecondPart>true</surefire.skipSecondPart>
+            </properties>
+        </profile>
+        <profile>
+          <id>compile-protobuf</id>
+          <activation>
+            <property>
+              <name>compile-protobuf</name>
+            </property>
+          </activation>
+          <build>
+            <plugins>
+              <plugin>
+                <groupId>org.xolstice.maven.plugins</groupId>
+                <artifactId>protobuf-maven-plugin</artifactId>
+                <executions>
+                  <execution>
+                    <id>compile-protoc</id>
+                    <phase>generate-sources</phase>
+                    <goals>
+                      <goal>compile</goal>
+                    </goals>
+                    <configuration>
+                      <additionalProtoPathElements>
+                        
<additionalProtoPathElement>${basedir}/../hbase-protocol/src/main/protobuf</additionalProtoPathElement>
+                      </additionalProtoPathElements>
+                    </configuration>
+                  </execution>
+                </executions>
+              </plugin>
+            </plugins>
+          </build>
+        </profile>
     <!-- Profiles for building against different hadoop versions -->
     <!-- There are a lot of common dependencies used here, should investigate
     if we can combine these profiles somehow -->
+
     <!-- profile for building against Hadoop 2.x.  This is the default.  -->
     <profile>
       <id>hadoop-2.0</id>
       <activation>
         <property>
-          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
-          <!--h2-->
-          <name>!hadoop.profile</name>
+            <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
+            <!--h2--><name>!hadoop.profile</name>
         </property>
       </activation>
       <dependencies>
@@ -259,5 +276,5 @@
         </dependency>
       </dependencies>
     </profile>
-  </profiles>
+    </profiles>
 </project>

Reply via email to