TEPHRA-309 Add HBase 1.6 compatibility

also convert 1.4 and 1.5 compatibility modules to the -common convention

Closes #103
diff --git a/.travis.yml b/.travis.yml
index c6d00d0..505715c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -35,9 +35,9 @@
  - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-1.0,tephra-hbase-compat-1.0-cdh,tephra-examples/tephra-examples-pre-1.3/hbase-1.0,tephra-examples/tephra-examples-pre-1.3/hbase-1.0-cdh'
  - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-1.1-base/tephra-hbase-compat-1.1,tephra-hbase-compat-1.1-base/tephra-hbase-compat-1.2,tephra-examples/tephra-examples-pre-1.3/hbase-1.1,tephra-examples/tephra-examples-pre-1.3/hbase-1.2'
  - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-1.1-base/tephra-hbase-compat-1.2-cdh,tephra-examples/tephra-examples-pre-1.3/cdh-5.7,tephra-examples/tephra-examples-pre-1.3/cdh-5.8'
- - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-1.3,tephra-examples/tephra-examples-post-1.3/hbase-1.3'
- - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-1.4,tephra-examples/tephra-examples-post-1.3/hbase-1.4'
- - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.0,tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.1,tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.2,tephra-hbase-compat-2.3,tephra-examples/tephra-examples-post-1.3/hbase-2.0,tephra-examples/tephra-examples-post-1.3/hbase-2.1,tephra-examples/tephra-examples-post-1.3/hbase-2.2,tephra-examples/tephra-examples-post-1.3/hbase-2.3'
+ - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-1.3,tephra-hbase-compat-2.3,tephra-examples/tephra-examples-post-1.3/hbase-1.3,tephra-examples/tephra-examples-post-1.3/hbase-2.3'
+ - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-1.4-base/tephra-hbase-compat-1.4,tephra-hbase-compat-1.4-base/tephra-hbase-compat-1.5,tephra-hbase-compat-1.4-base/tephra-hbase-compat-1.6,tephra-examples/tephra-examples-post-1.3/hbase-1.4,tephra-examples/tephra-examples-post-1.3/hbase-1.5,tephra-examples/tephra-examples-post-1.3/hbase-1.6'
+ - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.0,tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.1,tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.2,tephra-examples/tephra-examples-post-1.3/hbase-2.0,tephra-examples/tephra-examples-post-1.3/hbase-2.1,tephra-examples/tephra-examples-post-1.3/hbase-2.2'
 
 branches:
   only:
diff --git a/pom.xml b/pom.xml
index cefa403..d435342 100644
--- a/pom.xml
+++ b/pom.xml
@@ -158,7 +158,7 @@
     <module>tephra-hbase-compat-1.0-cdh</module>
     <module>tephra-hbase-compat-1.1-base</module>
     <module>tephra-hbase-compat-1.3</module>
-    <module>tephra-hbase-compat-1.4</module>
+    <module>tephra-hbase-compat-1.4-base</module>
     <module>tephra-hbase-compat-2.0-base</module>
     <module>tephra-hbase-compat-2.3</module>
     <module>tephra-examples</module>
@@ -221,6 +221,8 @@
     <hbase12.version>1.2.0</hbase12.version>
     <hbase13.version>1.3.1</hbase13.version>
     <hbase14.version>1.4.0</hbase14.version>
+    <hbase15.version>1.5.0</hbase15.version>
+    <hbase16.version>1.6.0</hbase16.version>
     <hbase20.version>2.0.0</hbase20.version>
     <hbase21.version>2.1.0</hbase21.version>
     <hbase22.version>2.2.0</hbase22.version>
diff --git a/tephra-core/src/main/java/org/apache/tephra/util/HBaseVersion.java b/tephra-core/src/main/java/org/apache/tephra/util/HBaseVersion.java
index 2a6a53c..5d53c2b 100644
--- a/tephra-core/src/main/java/org/apache/tephra/util/HBaseVersion.java
+++ b/tephra-core/src/main/java/org/apache/tephra/util/HBaseVersion.java
@@ -40,6 +40,7 @@
   private static final String HBASE_13_VERSION = "1.3";
   private static final String HBASE_14_VERSION = "1.4";
   private static final String HBASE_15_VERSION = "1.5";
+  private static final String HBASE_16_VERSION = "1.6";
   private static final String HBASE_20_VERSION = "2.0";
   private static final String HBASE_21_VERSION = "2.1";
   private static final String HBASE_22_VERSION = "2.2";
@@ -62,6 +63,7 @@
     HBASE_13("1.3"),
     HBASE_14("1.4"),
     HBASE_15("1.5"),
+    HBASE_16("1.6"),
     HBASE_20("2.0"),
     HBASE_21("2.1"),
     HBASE_22("2.2"),
@@ -109,6 +111,8 @@
         currentVersion = Version.HBASE_14;
       } else if (versionString.startsWith(HBASE_15_VERSION)) {
         currentVersion = Version.HBASE_15;
+      } else if (versionString.startsWith(HBASE_16_VERSION)) {
+          currentVersion = Version.HBASE_16;
       } else if (versionString.startsWith(HBASE_20_VERSION)) {
           currentVersion = Version.HBASE_20;
       } else if (versionString.startsWith(HBASE_21_VERSION)) {
diff --git a/tephra-core/src/main/java/org/apache/tephra/util/HBaseVersionSpecificFactory.java b/tephra-core/src/main/java/org/apache/tephra/util/HBaseVersionSpecificFactory.java
index af1c275..d8a46d0 100644
--- a/tephra-core/src/main/java/org/apache/tephra/util/HBaseVersionSpecificFactory.java
+++ b/tephra-core/src/main/java/org/apache/tephra/util/HBaseVersionSpecificFactory.java
@@ -57,6 +57,7 @@
           break;
         case HBASE_14:
         case HBASE_15:
+        case HBASE_16:
           instance = createInstance(getHBase14Classname());
           break;
         case HBASE_20:
diff --git a/tephra-examples/tephra-examples-post-1.3/hbase-1.5/pom.xml b/tephra-examples/tephra-examples-post-1.3/hbase-1.5/pom.xml
new file mode 100644
index 0000000..5b30505
--- /dev/null
+++ b/tephra-examples/tephra-examples-post-1.3/hbase-1.5/pom.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
+
+<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">
+  <parent>
+    <groupId>org.apache.tephra</groupId>
+    <artifactId>tephra-examples-post-1.3</artifactId>
+    <version>0.16.0-incubating-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+
+  <artifactId>tephra-examples-hbase-1.5</artifactId>
+  <name>Apache Tephra Examples For HBase 1.5</name>
+
+  <properties>
+    <hadoop.version>2.8.5</hadoop.version>
+    <hbase14.version>1.5.0</hbase14.version>
+  </properties>
+
+  <build>
+    <sourceDirectory>src/main/java</sourceDirectory>
+    <testSourceDirectory>src/test/java</testSourceDirectory>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.tephra</groupId>
+      <artifactId>tephra-hbase-compat-1.5</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-common</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-client</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-protocol</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-server</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <!-- Test dependencies -->
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-server</artifactId>
+      <version>${hbase14.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-testing-util</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>asm</groupId>
+          <artifactId>asm</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
+
+</project>
diff --git a/tephra-examples/tephra-examples-post-1.3/hbase-1.6/pom.xml b/tephra-examples/tephra-examples-post-1.3/hbase-1.6/pom.xml
new file mode 100644
index 0000000..1906e13
--- /dev/null
+++ b/tephra-examples/tephra-examples-post-1.3/hbase-1.6/pom.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
+
+<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">
+  <parent>
+    <groupId>org.apache.tephra</groupId>
+    <artifactId>tephra-examples-post-1.3</artifactId>
+    <version>0.16.0-incubating-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+
+  <artifactId>tephra-examples-hbase-1.6</artifactId>
+  <name>Apache Tephra Examples For HBase 1.6</name>
+
+  <properties>
+    <hadoop.version>2.8.5</hadoop.version>
+    <hbase14.version>1.6.0</hbase14.version>
+  </properties>
+
+  <build>
+    <sourceDirectory>src/main/java</sourceDirectory>
+    <testSourceDirectory>src/test/java</testSourceDirectory>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.tephra</groupId>
+      <artifactId>tephra-hbase-compat-1.6</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-common</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-client</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-protocol</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-server</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <!-- Test dependencies -->
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-server</artifactId>
+      <version>${hbase14.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-testing-util</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>asm</groupId>
+          <artifactId>asm</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
+
+</project>
diff --git a/tephra-examples/tephra-examples-post-1.3/pom.xml b/tephra-examples/tephra-examples-post-1.3/pom.xml
index 22b2380..0cbc825 100644
--- a/tephra-examples/tephra-examples-post-1.3/pom.xml
+++ b/tephra-examples/tephra-examples-post-1.3/pom.xml
@@ -32,6 +32,8 @@
   <modules>
     <module>hbase-1.3</module>
     <module>hbase-1.4</module>
+    <module>hbase-1.5</module>
+    <module>hbase-1.6</module>
     <module>hbase-2.0</module>
     <module>hbase-2.1</module>
     <module>hbase-2.2</module>
diff --git a/tephra-hbase-compat-1.4-base/pom.xml b/tephra-hbase-compat-1.4-base/pom.xml
new file mode 100644
index 0000000..62be266
--- /dev/null
+++ b/tephra-hbase-compat-1.4-base/pom.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
+
+<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">
+  <parent>
+    <groupId>org.apache.tephra</groupId>
+    <artifactId>tephra</artifactId>
+    <version>0.16.0-incubating-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+
+  <artifactId>tephra-hbase-compat-1.4-base</artifactId>
+  <name>Apache Tephra HBase 1.4 Compatibility Base</name>
+
+  <packaging>pom</packaging>
+  <modules>
+    <module>tephra-hbase-compat-1.4</module>
+    <module>tephra-hbase-compat-1.5</module>
+    <module>tephra-hbase-compat-1.6</module>
+  </modules>
+
+  <properties>
+    <hadoop.version>2.7.4</hadoop.version>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.tephra</groupId>
+      <artifactId>tephra-api</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tephra</groupId>
+      <artifactId>tephra-core</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.hbase</groupId>
+          <artifactId>hbase</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-common</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-client</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-protocol</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-server</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <!-- Test dependencies -->
+    <dependency>
+      <groupId>org.apache.tephra</groupId>
+      <artifactId>tephra-core</artifactId>
+      <version>${project.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>log4j-over-slf4j</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jcl-over-slf4j</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-server</artifactId>
+      <version>${hbase14.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-metrics-api</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-metrics</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hbase</groupId>
+      <artifactId>hbase-testing-util</artifactId>
+      <version>${hbase14.version}</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>asm</groupId>
+          <artifactId>asm</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>build-helper-maven-plugin</artifactId>
+          <version>3.0.0</version>
+          <executions>
+            <execution>
+              <id>add-source</id>
+              <phase>generate-sources</phase>
+              <goals>
+                <goal>add-source</goal>
+              </goals>
+              <configuration>
+                <sources>
+                  <source>${project.parent.basedir}/src/main/java</source>
+                </sources>
+              </configuration>
+            </execution>
+            <execution>
+              <id>add-test-source</id>
+              <phase>generate-sources</phase>
+              <goals>
+                <goal>add-test-source</goal>
+              </goals>
+              <configuration>
+                <sources>
+                  <source>${project.parent.basedir}/src/test/java</source>
+                </sources>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-shade-plugin</artifactId>
+          <configuration>
+            <relocations>
+              <relocation>
+                <pattern>com.google.common</pattern>
+                <shadedPattern>${shaded.package}.com.google.common</shadedPattern>
+              </relocation>
+            </relocations>
+          </configuration>
+          <executions>
+            <execution>
+              <id>default-shaded</id>
+              <phase>package</phase>
+              <goals>
+                <goal>shade</goal>
+              </goals>
+              <configuration>
+                <shadedArtifactAttached>true</shadedArtifactAttached>
+                <dependencyReducedPomLocation>${basedir}/target/dependency-reduced-pom.xml</dependencyReducedPomLocation>
+                <artifactSet>
+                  <includes>
+                    <include>org.apache.tephra:tephra-hbase-compat-*</include>
+                  </includes>
+                </artifactSet>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>
diff --git a/tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/HBase14ConfigurationProvider.java b/tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/HBase14ConfigurationProvider.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/HBase14ConfigurationProvider.java
rename to tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/HBase14ConfigurationProvider.java
diff --git a/tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/SecondaryIndexTable.java b/tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/SecondaryIndexTable.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/SecondaryIndexTable.java
rename to tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/SecondaryIndexTable.java
diff --git a/tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/TransactionAwareHTable.java b/tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/TransactionAwareHTable.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/TransactionAwareHTable.java
rename to tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/TransactionAwareHTable.java
diff --git a/tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/coprocessor/CellSkipFilter.java b/tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/coprocessor/CellSkipFilter.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/coprocessor/CellSkipFilter.java
rename to tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/coprocessor/CellSkipFilter.java
diff --git a/tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionFilters.java b/tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionFilters.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionFilters.java
rename to tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionFilters.java
diff --git a/tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionProcessor.java b/tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionProcessor.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionProcessor.java
rename to tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionProcessor.java
diff --git a/tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilter.java b/tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilter.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilter.java
rename to tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilter.java
diff --git a/tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/txprune/CompactionState.java b/tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/txprune/CompactionState.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/txprune/CompactionState.java
rename to tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/txprune/CompactionState.java
diff --git a/tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/txprune/DataJanitorState.java b/tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/txprune/DataJanitorState.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/txprune/DataJanitorState.java
rename to tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/txprune/DataJanitorState.java
diff --git a/tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/txprune/HBaseTransactionPruningPlugin.java b/tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/txprune/HBaseTransactionPruningPlugin.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/txprune/HBaseTransactionPruningPlugin.java
rename to tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/txprune/HBaseTransactionPruningPlugin.java
diff --git a/tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTool.java b/tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTool.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTool.java
rename to tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTool.java
diff --git a/tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriter.java b/tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriter.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriter.java
rename to tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriter.java
diff --git a/tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplier.java b/tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplier.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplier.java
rename to tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplier.java
diff --git a/tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/txprune/TimeRegions.java b/tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/txprune/TimeRegions.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/main/java/org/apache/tephra/hbase/txprune/TimeRegions.java
rename to tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/txprune/TimeRegions.java
diff --git a/tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/AbstractHBaseTableTest.java b/tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/AbstractHBaseTableTest.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/AbstractHBaseTableTest.java
rename to tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/AbstractHBaseTableTest.java
diff --git a/tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/HBase14ConfigurationProviderTest.java b/tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/HBase14ConfigurationProviderTest.java
similarity index 89%
rename from tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/HBase14ConfigurationProviderTest.java
rename to tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/HBase14ConfigurationProviderTest.java
index 993ce76..d452e5d 100644
--- a/tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/HBase14ConfigurationProviderTest.java
+++ b/tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/HBase14ConfigurationProviderTest.java
@@ -30,6 +30,8 @@
 public class HBase14ConfigurationProviderTest extends AbstractConfigurationProviderTest {
   @Override
   protected Collection<HBaseVersion.Version> getExpectedVersions() {
-    return ImmutableList.of(HBaseVersion.Version.HBASE_14);
+    return ImmutableList.of(HBaseVersion.Version.HBASE_14,
+        HBaseVersion.Version.HBASE_15,
+        HBaseVersion.Version.HBASE_16);
   }
 }
diff --git a/tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/TransactionAwareHTableTest.java b/tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/TransactionAwareHTableTest.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/TransactionAwareHTableTest.java
rename to tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/TransactionAwareHTableTest.java
diff --git a/tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/coprocessor/CellSkipFilterTest.java b/tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/coprocessor/CellSkipFilterTest.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/coprocessor/CellSkipFilterTest.java
rename to tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/coprocessor/CellSkipFilterTest.java
diff --git a/tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/coprocessor/TransactionProcessorTest.java b/tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/coprocessor/TransactionProcessorTest.java
similarity index 98%
rename from tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/coprocessor/TransactionProcessorTest.java
rename to tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/coprocessor/TransactionProcessorTest.java
index 8ca5720..53bcde8 100644
--- a/tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/coprocessor/TransactionProcessorTest.java
+++ b/tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/coprocessor/TransactionProcessorTest.java
@@ -26,6 +26,7 @@
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.ChoreService;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HConstants;
@@ -636,5 +637,11 @@
     public ServerName getServerName() {
       return serverName;
     }
+
+    @Override
+    public ChoreService getChoreService() {
+        //should be mocked, but the interface is not visible
+        return new ChoreService("forMockRegionServerServices");
+    }
   }
 }
diff --git a/tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilterTest.java b/tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilterTest.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilterTest.java
rename to tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilterTest.java
diff --git a/tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/txprune/DataJanitorStateTest.java b/tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/txprune/DataJanitorStateTest.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/txprune/DataJanitorStateTest.java
rename to tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/txprune/DataJanitorStateTest.java
diff --git a/tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/txprune/InvalidListPruneTest.java b/tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/txprune/InvalidListPruneTest.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/txprune/InvalidListPruneTest.java
rename to tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/txprune/InvalidListPruneTest.java
diff --git a/tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTest.java b/tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTest.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTest.java
rename to tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTest.java
diff --git a/tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplierTest.java b/tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplierTest.java
similarity index 100%
rename from tephra-hbase-compat-1.4/src/test/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplierTest.java
rename to tephra-hbase-compat-1.4-base/src/test/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplierTest.java
diff --git a/tephra-hbase-compat-1.4/src/test/resources/logback-test.xml b/tephra-hbase-compat-1.4-base/src/test/resources/logback-test.xml
similarity index 100%
rename from tephra-hbase-compat-1.4/src/test/resources/logback-test.xml
rename to tephra-hbase-compat-1.4-base/src/test/resources/logback-test.xml
diff --git a/tephra-hbase-compat-1.4-base/tephra-hbase-compat-1.4/pom.xml b/tephra-hbase-compat-1.4-base/tephra-hbase-compat-1.4/pom.xml
new file mode 100644
index 0000000..ae52be5
--- /dev/null
+++ b/tephra-hbase-compat-1.4-base/tephra-hbase-compat-1.4/pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
+
+<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">
+  <parent>
+    <groupId>org.apache.tephra</groupId>
+    <artifactId>tephra-hbase-compat-1.4-base</artifactId>
+    <version>0.16.0-incubating-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+
+  <artifactId>tephra-hbase-compat-1.4</artifactId>
+  <name>Apache Tephra HBase 1.4 Compatibility</name>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>
diff --git a/tephra-hbase-compat-1.4-base/tephra-hbase-compat-1.5/pom.xml b/tephra-hbase-compat-1.4-base/tephra-hbase-compat-1.5/pom.xml
new file mode 100644
index 0000000..f97fc0a
--- /dev/null
+++ b/tephra-hbase-compat-1.4-base/tephra-hbase-compat-1.5/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
+
+<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">
+  <parent>
+    <groupId>org.apache.tephra</groupId>
+    <artifactId>tephra-hbase-compat-1.4-base</artifactId>
+    <version>0.16.0-incubating-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+
+  <artifactId>tephra-hbase-compat-1.5</artifactId>
+  <name>Apache Tephra HBase 1.5 Compatibility</name>
+
+  <properties>
+    <hbase14.version>${hbase15.version}</hbase14.version>
+    <hadoop.version>2.8.5</hadoop.version>
+  </properties>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>
diff --git a/tephra-hbase-compat-1.4-base/tephra-hbase-compat-1.6/pom.xml b/tephra-hbase-compat-1.4-base/tephra-hbase-compat-1.6/pom.xml
new file mode 100644
index 0000000..87c7355
--- /dev/null
+++ b/tephra-hbase-compat-1.4-base/tephra-hbase-compat-1.6/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
+
+<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">
+  <parent>
+    <groupId>org.apache.tephra</groupId>
+    <artifactId>tephra-hbase-compat-1.4-base</artifactId>
+    <version>0.16.0-incubating-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+
+  <artifactId>tephra-hbase-compat-1.6</artifactId>
+  <name>Apache Tephra HBase 1.6 Compatibility</name>
+
+  <properties>
+    <hbase14.version>${hbase16.version}</hbase14.version>
+    <hadoop.version>2.8.5</hadoop.version>
+  </properties>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>
diff --git a/tephra-hbase-compat-2.0-base/pom.xml b/tephra-hbase-compat-2.0-base/pom.xml
index 0d66c1e..51a29bb 100644
--- a/tephra-hbase-compat-2.0-base/pom.xml
+++ b/tephra-hbase-compat-2.0-base/pom.xml
@@ -232,10 +232,6 @@
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>build-helper-maven-plugin</artifactId>
       </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-shade-plugin</artifactId>
-      </plugin>
     </plugins>
   </build>
 
diff --git a/tephra-hbase-compat-2.0-base/src/test/java/org/apache/tephra/hbase/HBase20ConfigurationProviderTest.java b/tephra-hbase-compat-2.0-base/src/test/java/org/apache/tephra/hbase/HBase20ConfigurationProviderTest.java
index 361ab06..3c82d6f 100644
--- a/tephra-hbase-compat-2.0-base/src/test/java/org/apache/tephra/hbase/HBase20ConfigurationProviderTest.java
+++ b/tephra-hbase-compat-2.0-base/src/test/java/org/apache/tephra/hbase/HBase20ConfigurationProviderTest.java
@@ -33,7 +33,6 @@
     return ImmutableList.of(
         HBaseVersion.Version.HBASE_20,
         HBaseVersion.Version.HBASE_21,
-        HBaseVersion.Version.HBASE_22,
-        HBaseVersion.Version.HBASE_23);
+        HBaseVersion.Version.HBASE_22);
   }
 }
diff --git a/tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.0/pom.xml b/tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.0/pom.xml
index c72ca70..fbf6eb9 100644
--- a/tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.0/pom.xml
+++ b/tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.0/pom.xml
@@ -32,4 +32,14 @@
     <hadoop.version>2.7.4</hadoop.version>
   </properties>
 
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+
 </project>
diff --git a/tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.1/pom.xml b/tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.1/pom.xml
index e5de5d9..f0e9958 100644
--- a/tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.1/pom.xml
+++ b/tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.1/pom.xml
@@ -33,4 +33,13 @@
     <hadoop.version>2.7.4</hadoop.version>
   </properties>
 
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+
 </project>
diff --git a/tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.2/pom.xml b/tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.2/pom.xml
index f67244a..5770ec5 100644
--- a/tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.2/pom.xml
+++ b/tephra-hbase-compat-2.0-base/tephra-hbase-compat-2.2/pom.xml
@@ -33,4 +33,13 @@
     <hadoop.version>2.8.5</hadoop.version>
   </properties>
 
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+
 </project>
diff --git a/tephra-hbase-compat-2.3/src/test/java/org/apache/tephra/hbase/HBase20ConfigurationProviderTest.java b/tephra-hbase-compat-2.3/src/test/java/org/apache/tephra/hbase/HBase23ConfigurationProviderTest.java
similarity index 87%
rename from tephra-hbase-compat-2.3/src/test/java/org/apache/tephra/hbase/HBase20ConfigurationProviderTest.java
rename to tephra-hbase-compat-2.3/src/test/java/org/apache/tephra/hbase/HBase23ConfigurationProviderTest.java
index 361ab06..f5d70fc 100644
--- a/tephra-hbase-compat-2.3/src/test/java/org/apache/tephra/hbase/HBase20ConfigurationProviderTest.java
+++ b/tephra-hbase-compat-2.3/src/test/java/org/apache/tephra/hbase/HBase23ConfigurationProviderTest.java
@@ -27,13 +27,10 @@
 /**
  * Test for HBase 2.0 version specific behavior.
  */
-public class HBase20ConfigurationProviderTest extends AbstractConfigurationProviderTest {
+public class HBase23ConfigurationProviderTest extends AbstractConfigurationProviderTest {
   @Override
   protected Collection<HBaseVersion.Version> getExpectedVersions() {
     return ImmutableList.of(
-        HBaseVersion.Version.HBASE_20,
-        HBaseVersion.Version.HBASE_21,
-        HBaseVersion.Version.HBASE_22,
         HBaseVersion.Version.HBASE_23);
   }
 }