Cleanup and doc; do not include protobuf because we can't do the patching in here
diff --git a/README.txt b/README.txt
index 5603f6f..f025d66 100644
--- a/README.txt
+++ b/README.txt
@@ -1 +1,11 @@
 This project contains relocated third-party libraries used by Apache HBase
+
+Includes protobuf-util, netty-all, gson, and guava offset so they have
+an org.apache.hadoop.hbase.shaded prefix on class name.  See the pom.xml
+for the explicit version of each third-party lib included.
+
+We do not include protobuf here because we need to patch it. Patching
+involves unpack of src, patch, and then re-jarring. We can do this
+if only protobuf is involved. Unpack of protobuf plus the above and
+then trying to compile fails because src is missing for some dependency.
+See hbase-protocol-shaded/pom.xml for how it does patch of protobuf.
diff --git a/pom.xml b/pom.xml
index 3c1dc58..7f71df4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,9 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<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/maven-v4_0_0.xsd">
-<!--
+<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/maven-v4_0_0.xsd">
+  <!--
 /**
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -44,7 +41,7 @@
   <version>1.0.0-SNAPSHOT</version>
   <name>Apache HBase Relocated Third-party Libraries</name>
   <description>
-    Hosts third-party, relocated (shaded) libraries.
+    Hosts third-party, relocated (renamed, shaded) libraries.
   </description>
   <url>http://hbase.apache.org</url>
   <inceptionYear>2017</inceptionYear>
@@ -55,13 +52,13 @@
       <distribution>repo</distribution>
     </license>
   </licenses>
-
   <scm>
     <connection>scm:git:git://git.apache.org/hbase-thirdparty.git</connection>
     <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/hbase-thirdparty.git</developerConnection>
     <url>https://git-wip-us.apache.org/repos/asf?p=hbase-thirdparty.git</url>
   </scm>
   <issueManagement>
+    <!--File issues for this project against Apache HBase JIRA-->
     <system>JIRA</system>
     <url>http://issues.apache.org/jira/browse/HBASE</url>
   </issueManagement>
@@ -111,7 +108,30 @@
       <archive>http://mail-archives.apache.org/mod_mbox/hbase-builds/</archive>
     </mailingList>
   </mailingLists>
-  <developers /> <!--TODO-->
+  <developers/>
+  <!--TODO-->
+  <properties>
+    <!-- override on command line to have generated LICENSE files include
+         diagnostic info for verifying notice requirements -->
+    <license.debug.print.included>false</license.debug.print.included>
+    <!-- When a particular module bundles its depenendencies, should be true -->
+    <license.bundles.dependencies>false</license.bundles.dependencies>
+    <!-- modules that include a the logo in their source tree should set true -->
+    <license.bundles.logo>false</license.bundles.logo>
+    <!-- modules that include bootstrap in their source tree should set true -->
+    <license.bundles.bootstrap>false</license.bundles.bootstrap>
+    <!-- modules that include jquery in their source tree should set true -->
+    <license.bundles.jquery>false</license.bundles.jquery>
+    <maven.build.timestamp.format>
+      yyyy-MM-dd'T'HH:mm
+    </maven.build.timestamp.format>
+    <buildDate>${maven.build.timestamp}</buildDate>
+    <compileSource>1.8</compileSource>
+    <java.min.version>${compileSource}</java.min.version>
+    <maven.min.version>3.3.3</maven.min.version>
+    <protobuf.version>3.3.1</protobuf.version>
+    <rename.offset>org.apache.hadoop.hbase.shaded</rename.offset>
+  </properties>
   <build>
     <plugins>
       <plugin>
@@ -121,44 +141,6 @@
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-shade-plugin</artifactId>
-        <version>3.0.0</version>
-        <executions>
-          <execution>
-            <phase>package</phase>
-            <goals>
-              <goal>shade</goal>
-            </goals>
-            <configuration>
-              <shadeSourcesContent>true</shadeSourcesContent>
-              <relocations>
-                <relocation>
-                  <pattern>io.netty</pattern>
-                  <shadedPattern>org.apache.hadoop.hbase.shaded.io.netty</shadedPattern>
-                </relocation>
-                <relocation>
-                  <pattern>com.google</pattern>
-                  <shadedPattern>org.apache.hadoop.hbase.shaded.com.google</shadedPattern>
-                </relocation>
-              </relocations>
-              <!-- What I got when I did a mvn dependency:list for this
-               module. Exclude all but the com.google.
-              -->
-              <artifactSet>
-                <excludes>
-                  <exclude>com.google.code.findbugs:jsr305</exclude>
-                  <exclude>com.google.errorprone:error_prone_annotations</exclude>
-                  <exclude>com.google.j2objc:j2objc-annotations</exclude>
-                  <exclude>org.codehaus.mojo:animal-sniffer-annotations</exclude>
-                  <exclude>org.codehaus.mojo:animal-sniffer-annotations</exclude>
-                </excludes>
-              </artifactSet>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-release-plugin</artifactId>
         <configuration>
           <!--You need this profile. It'll sign your artifacts.
@@ -175,10 +157,6 @@
         </configuration>
       </plugin>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-clean-plugin</artifactId>
-      </plugin>
-      <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>build-helper-maven-plugin</artifactId>
         <version>1.9.1</version>
@@ -217,7 +195,6 @@
             <exclude>**/dependency-reduced-pom.xml</exclude>
             <exclude>**/rat.txt</exclude>
             <!-- exclude the shaded protobuf files -->
-            <exclude>**/shaded/com/google/protobuf/**</exclude>
             <exclude>**/src/main/patches/**</exclude>
           </excludes>
         </configuration>
@@ -230,7 +207,7 @@
           <dependency>
             <groupId>org.codehaus.mojo</groupId>
             <artifactId>extra-enforcer-rules</artifactId>
-            <version>1.0-beta-3</version>
+            <version>1.0-beta-6</version>
           </dependency>
         </dependencies>
         <!-- version set by parent -->
@@ -275,22 +252,8 @@
       </plugin>
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
-        <artifactId>findbugs-maven-plugin</artifactId>
-        <executions>
-          <execution>
-            <inherited>false</inherited>
-            <goals>
-              <goal>findbugs</goal>
-            </goals>
-            <configuration>
-              <excludeFilterFile>${basedir}/dev-support/findbugs-exclude.xml</excludeFilterFile>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
         <artifactId>buildnumber-maven-plugin</artifactId>
+        <version>1.4</version>
         <executions>
           <execution>
             <phase>validate</phase>
@@ -303,9 +266,60 @@
           <timestampFormat>yyyy</timestampFormat>
           <timestampPropertyName>build.year</timestampPropertyName>
         </configuration>
-        </plugin>
-      </plugins>
+      </plugin>
+      <plugin>
+        <artifactId>maven-clean-plugin</artifactId>
+        <configuration>
+          <filesets>
+            <fileset>
+              <directory>${basedir}</directory>
+              <includes>
+                <include>dependency-reduced-pom.xml</include>
+              </includes>
+            </fileset>
+          </filesets>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+        <version>3.0.0</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+            <configuration>
+              <shadeSourcesContent>true</shadeSourcesContent>
+              <relocations>
+                <relocation>
+                  <pattern>io.netty</pattern>
+                  <shadedPattern>${rename.offset}.io.netty</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>com.google</pattern>
+                  <shadedPattern>${rename.offset}.com.google</shadedPattern>
+                </relocation>
+              </relocations>
+              <artifactSet>
+                <excludes>
+                  <!--Exclude protobuf itself. We get a patched version later over in hbase core-->
+                  <exclude>com.google.protobuf:protobuf-java</exclude>
+                  <exclude>com.google.code.findbugs:jsr305</exclude>
+                  <exclude>com.google.errorprone:error_prone_annotations</exclude>
+                  <exclude>com.google.j2objc:j2objc-annotations</exclude>
+                  <exclude>org.codehaus.mojo:animal-sniffer-annotations</exclude>
+                  <exclude>org.codehaus.mojo:animal-sniffer-annotations</exclude>
+                </excludes>
+              </artifactSet>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
   </build>
+  <!--These are the third-party libs we want to relocate-->
   <dependencies>
     <dependency>
       <groupId>com.google.code.gson</groupId>
@@ -319,11 +333,6 @@
     </dependency>
     <dependency>
       <groupId>com.google.protobuf</groupId>
-      <artifactId>protobuf-java</artifactId>
-      <version>${protobuf.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>com.google.protobuf</groupId>
       <artifactId>protobuf-java-util</artifactId>
       <version>${protobuf.version}</version>
     </dependency>
@@ -333,29 +342,6 @@
       <version>4.1.12.Final</version>
     </dependency>
   </dependencies>
-  <properties>
-    <!-- override on command line to have generated LICENSE files include
-         diagnostic info for verifying notice requirements -->
-    <license.debug.print.included>false</license.debug.print.included>
-    <!-- When a particular module bundles its depenendencies, should be true -->
-    <license.bundles.dependencies>false</license.bundles.dependencies>
-    <!-- modules that include a the logo in their source tree should set true -->
-    <license.bundles.logo>false</license.bundles.logo>
-    <!-- modules that include bootstrap in their source tree should set true -->
-    <license.bundles.bootstrap>false</license.bundles.bootstrap>
-    <!-- modules that include jquery in their source tree should set true -->
-    <license.bundles.jquery>false</license.bundles.jquery>
-    <tar.name>${project.build.finalName}.tar.gz</tar.name>
-    <maven.build.timestamp.format>
-      yyyy-MM-dd'T'HH:mm
-    </maven.build.timestamp.format>
-    <buildDate>${maven.build.timestamp}</buildDate>
-    <compileSource>1.8</compileSource>
-    <!-- Build dependencies -->
-    <maven.min.version>3.0.4</maven.min.version>
-    <java.min.version>${compileSource}</java.min.version>
-    <protobuf.version>3.3.1</protobuf.version>
-  </properties>
   <profiles>
     <!-- this profile should be activated for release builds -->
     <profile>
@@ -380,17 +366,17 @@
             <configuration>
               <rules>
                 <enforceBytecodeVersion>
-                <maxJdkVersion>${compileSource}</maxJdkVersion>
-                <message>HBase has unsupported dependencies.
+                  <maxJdkVersion>${compileSource}</maxJdkVersion>
+                  <message>HBase has unsupported dependencies.
   HBase requires that all dependencies be compiled with version ${compileSource} or earlier
   of the JDK to properly build from source.  You appear to be using a newer dependency. You can use
   either "mvn -version" or "mvn enforcer:display-info" to verify what version is active.
   Non-release builds can temporarily build with a newer JDK version by setting the
   'compileSource' property (eg. mvn -DcompileSource=1.8 clean package).
                 </message>
-              </enforceBytecodeVersion>
-            </rules>
-          </configuration>
+                </enforceBytecodeVersion>
+              </rules>
+            </configuration>
           </plugin>
         </plugins>
       </build>