(TEPHRA-303) Restructure pom files to fix build with maven 3.6.1

This closes #96 from GitHub.

Signed-off-by: anew <aneu@google.com>
diff --git a/.travis.yml b/.travis.yml
index c3b5240..b0f005d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,7 +18,7 @@
 
 language: java
 
-# Run it on precise, until we figure out how to make jdk7 work (or no longer support jdk7).
+# Run it on trusty, which has Java 8 support, until we support Java 9
 dist: precise
 
 install: true
@@ -31,12 +31,13 @@
 # Note: -DskipCoreTests will active a profile in tephra-core that skips tests
 env:
  - OPTIONS='-am -pl tephra-core'
- - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-0.96,tephra-hbase-compat-0.98,tephra-examples/hbase-0.96,tephra-examples/hbase-0.98'
- - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-1.0,tephra-hbase-compat-1.0-cdh,tephra-examples/hbase-1.0,tephra-examples/hbase-1.0-cdh'
- - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-1.1-base,tephra-examples/hbase-1.1,tephra-examples/hbase-1.2,tephra-examples/cdh-5.7,tephra-examples/cdh-5.8'
- - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-1.3,tephra-examples/hbase-1.3'
- - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-1.4,tephra-examples/hbase-1.4'
- - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-2.0,tephra-examples/hbase-2.0'
+ - OPTIONS='-am -DskipCoreTests -pl tephra-hbase-compat-0.96,tephra-hbase-compat-0.98,tephra-examples/tephra-examples-pre-1.3/hbase-0.96,tephra-examples/tephra-examples-pre-1.3/hbase-0.98'
+ - 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,tephra-examples/tephra-examples-post-1.3/hbase-2.0'
 
 branches:
   only:
@@ -46,7 +47,8 @@
     - /^release\/.*$/
 
 script:
- - mvn test $OPTIONS
+ - mvn -v
+ - MAVEN_OPTS="-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2" mvn -B test $OPTIONS
 
 sudo: false
 
diff --git a/tephra-examples/pom.xml b/tephra-examples/pom.xml
index 8934143..ffbb90c 100644
--- a/tephra-examples/pom.xml
+++ b/tephra-examples/pom.xml
@@ -30,17 +30,8 @@
 
   <packaging>pom</packaging>
   <modules>
-    <module>hbase-0.96</module>
-    <module>hbase-0.98</module>
-    <module>hbase-1.0</module>
-    <module>hbase-1.0-cdh</module>
-    <module>hbase-1.1</module>
-    <module>hbase-1.2</module>
-    <module>hbase-1.3</module>
-    <module>hbase-1.4</module>
-    <module>hbase-2.0</module>
-    <module>cdh-5.7</module>
-    <module>cdh-5.8</module>
+    <module>tephra-examples-pre-1.3</module>
+    <module>tephra-examples-post-1.3</module>
   </modules>
 
   <properties>
diff --git a/tephra-examples/src/test/java/org/apache/tephra/examples/BalanceBooksTest.java b/tephra-examples/src/test/java/org/apache/tephra/examples/BalanceBooksTest.java
deleted file mode 100644
index 4dfe107..0000000
--- a/tephra-examples/src/test/java/org/apache/tephra/examples/BalanceBooksTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.tephra.examples;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.Scopes;
-import com.google.inject.util.Modules;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseTestingUtility;
-import org.apache.tephra.TransactionSystemClient;
-import org.apache.tephra.TxConstants;
-import org.apache.tephra.distributed.TransactionService;
-import org.apache.tephra.persist.InMemoryTransactionStateStorage;
-import org.apache.tephra.persist.TransactionStateStorage;
-import org.apache.tephra.runtime.ConfigModule;
-import org.apache.tephra.runtime.DiscoveryModules;
-import org.apache.tephra.runtime.TransactionClientModule;
-import org.apache.tephra.runtime.TransactionModules;
-import org.apache.tephra.runtime.ZKModule;
-import org.apache.tephra.util.Tests;
-import org.apache.twill.zookeeper.ZKClientService;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.junit.Assert.assertTrue;
-
-/**
- * Tests the {@link BalanceBooks} program.
- */
-public class BalanceBooksTest {
-  private static final Logger LOG = LoggerFactory.getLogger(BalanceBooksTest.class);
-  private static HBaseTestingUtility testUtil;
-  private static TransactionService txService;
-  private static ZKClientService zkClientService;
-
-  @ClassRule
-  public static TemporaryFolder tmpFolder = new TemporaryFolder();
-
-  @BeforeClass
-  public static void setup() throws Exception {
-    testUtil = new HBaseTestingUtility();
-    Configuration conf = testUtil.getConfiguration();
-    conf.setBoolean(TxConstants.Manager.CFG_DO_PERSIST, false);
-    conf.set(TxConstants.Manager.CFG_TX_SNAPSHOT_DIR, tmpFolder.newFolder().getAbsolutePath());
-
-    // Tune down the connection thread pool size
-    conf.setInt("hbase.hconnection.threads.core", 5);
-    conf.setInt("hbase.hconnection.threads.max", 10);
-    // Tunn down handler threads in regionserver
-    conf.setInt("hbase.regionserver.handler.count", 10);
-
-    // Set to random port
-    conf.setInt("hbase.master.port", 0);
-    conf.setInt("hbase.master.info.port", 0);
-    conf.setInt("hbase.regionserver.port", 0);
-    conf.setInt("hbase.regionserver.info.port", 0);
-
-    testUtil.startMiniCluster();
-
-    String zkClusterKey = testUtil.getClusterKey(); // hostname:clientPort:parentZnode
-    String zkQuorum = zkClusterKey.substring(0, zkClusterKey.lastIndexOf(':'));
-    LOG.info("Zookeeper Quorum is running at {}", zkQuorum);
-    conf.set(TxConstants.Service.CFG_DATA_TX_ZOOKEEPER_QUORUM, zkQuorum);
-
-    Injector injector = Guice.createInjector(
-        new ConfigModule(conf),
-        new ZKModule(),
-        new DiscoveryModules().getDistributedModules(),
-        Modules.override(new TransactionModules().getDistributedModules())
-            .with(new AbstractModule() {
-              @Override
-              protected void configure() {
-                bind(TransactionStateStorage.class).to(InMemoryTransactionStateStorage.class).in(Scopes.SINGLETON);
-              }
-            }),
-        new TransactionClientModule()
-    );
-
-    zkClientService = injector.getInstance(ZKClientService.class);
-    zkClientService.startAndWait();
-
-    // start a tx server
-    txService = injector.getInstance(TransactionService.class);
-    try {
-      LOG.info("Starting transaction service");
-      txService.startAndWait();
-    } catch (Exception e) {
-      LOG.error("Failed to start service: ", e);
-      throw e;
-    }
-
-    Tests.waitForTxReady(injector.getInstance(TransactionSystemClient.class));
-  }
-
-  @AfterClass
-  public static void tearDown() throws Exception {
-    if (txService != null) {
-      txService.stopAndWait();
-    }
-    if (zkClientService != null) {
-      zkClientService.stopAndWait();
-    }
-    testUtil.shutdownMiniCluster();
-  }
-
-  @Test
-  public void testBalanceBooks() throws Exception {
-    try (BalanceBooks bb = new BalanceBooks(5, 100, testUtil.getConfiguration())) {
-      bb.init();
-      bb.run();
-      assertTrue(bb.verify());
-    }
-  }
-}
diff --git a/tephra-examples/hbase-1.3/pom.xml b/tephra-examples/tephra-examples-post-1.3/hbase-1.3/pom.xml
similarity index 93%
rename from tephra-examples/hbase-1.3/pom.xml
rename to tephra-examples/tephra-examples-post-1.3/hbase-1.3/pom.xml
index 179c587..4ddbec3 100644
--- a/tephra-examples/hbase-1.3/pom.xml
+++ b/tephra-examples/tephra-examples-post-1.3/hbase-1.3/pom.xml
@@ -20,7 +20,7 @@
 <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</artifactId>
+    <artifactId>tephra-examples-post-1.3</artifactId>
     <version>0.16.0-incubating-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -31,11 +31,16 @@
   <properties>
     <hadoop.version>2.5.1</hadoop.version>
     <hbase13.version>1.3.1</hbase13.version>
+    <hbase.scrdir>src-1.3</hbase.scrdir>
   </properties>
 
   <build>
-    <sourceDirectory>src/main/java</sourceDirectory>
-    <testSourceDirectory>src/test/java</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
   </build>
 
   <dependencies>
diff --git a/tephra-examples/hbase-1.4/pom.xml b/tephra-examples/tephra-examples-post-1.3/hbase-1.4/pom.xml
similarity index 98%
rename from tephra-examples/hbase-1.4/pom.xml
rename to tephra-examples/tephra-examples-post-1.3/hbase-1.4/pom.xml
index 1974646..b170be1 100644
--- a/tephra-examples/hbase-1.4/pom.xml
+++ b/tephra-examples/tephra-examples-post-1.3/hbase-1.4/pom.xml
@@ -20,7 +20,7 @@
 <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</artifactId>
+    <artifactId>tephra-examples-post-1.3</artifactId>
     <version>0.16.0-incubating-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/tephra-examples/hbase-1.4/src/main/java/org/apache/tephra/examples/BalanceBooks.java b/tephra-examples/tephra-examples-post-1.3/hbase-1.4/src/main/java/org/apache/tephra/examples/BalanceBooks.java
similarity index 100%
rename from tephra-examples/hbase-1.4/src/main/java/org/apache/tephra/examples/BalanceBooks.java
rename to tephra-examples/tephra-examples-post-1.3/hbase-1.4/src/main/java/org/apache/tephra/examples/BalanceBooks.java
diff --git a/tephra-examples/hbase-1.4/src/main/java/org/apache/tephra/examples/package-info.java b/tephra-examples/tephra-examples-post-1.3/hbase-1.4/src/main/java/org/apache/tephra/examples/package-info.java
similarity index 100%
rename from tephra-examples/hbase-1.4/src/main/java/org/apache/tephra/examples/package-info.java
rename to tephra-examples/tephra-examples-post-1.3/hbase-1.4/src/main/java/org/apache/tephra/examples/package-info.java
diff --git a/tephra-examples/hbase-1.4/src/test/java/org/apache/tephra/examples/BalanceBooksTest.java b/tephra-examples/tephra-examples-post-1.3/hbase-1.4/src/test/java/org/apache/tephra/examples/BalanceBooksTest.java
similarity index 100%
rename from tephra-examples/hbase-1.4/src/test/java/org/apache/tephra/examples/BalanceBooksTest.java
rename to tephra-examples/tephra-examples-post-1.3/hbase-1.4/src/test/java/org/apache/tephra/examples/BalanceBooksTest.java
diff --git a/tephra-examples/hbase-2.0/pom.xml b/tephra-examples/tephra-examples-post-1.3/hbase-2.0/pom.xml
similarity index 94%
rename from tephra-examples/hbase-2.0/pom.xml
rename to tephra-examples/tephra-examples-post-1.3/hbase-2.0/pom.xml
index d43c0c3..8af46bc 100644
--- a/tephra-examples/hbase-2.0/pom.xml
+++ b/tephra-examples/tephra-examples-post-1.3/hbase-2.0/pom.xml
@@ -20,7 +20,7 @@
 <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</artifactId>
+    <artifactId>tephra-examples-post-1.3</artifactId>
     <version>0.16.0-incubating-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -125,14 +125,6 @@
       <scope>test</scope>
     </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-testing-util</artifactId>
       <version>${hbase20.version}</version>
diff --git a/tephra-examples/hbase-2.0/src/main/java/org/apache/tephra/examples/BalanceBooks.java b/tephra-examples/tephra-examples-post-1.3/hbase-2.0/src/main/java/org/apache/tephra/examples/BalanceBooks.java
similarity index 100%
rename from tephra-examples/hbase-2.0/src/main/java/org/apache/tephra/examples/BalanceBooks.java
rename to tephra-examples/tephra-examples-post-1.3/hbase-2.0/src/main/java/org/apache/tephra/examples/BalanceBooks.java
diff --git a/tephra-examples/hbase-2.0/src/main/java/org/apache/tephra/examples/package-info.java b/tephra-examples/tephra-examples-post-1.3/hbase-2.0/src/main/java/org/apache/tephra/examples/package-info.java
similarity index 100%
rename from tephra-examples/hbase-2.0/src/main/java/org/apache/tephra/examples/package-info.java
rename to tephra-examples/tephra-examples-post-1.3/hbase-2.0/src/main/java/org/apache/tephra/examples/package-info.java
diff --git a/tephra-examples/hbase-2.0/src/test/java/org/apache/tephra/examples/BalanceBooksTest.java b/tephra-examples/tephra-examples-post-1.3/hbase-2.0/src/test/java/org/apache/tephra/examples/BalanceBooksTest.java
similarity index 100%
rename from tephra-examples/hbase-2.0/src/test/java/org/apache/tephra/examples/BalanceBooksTest.java
rename to tephra-examples/tephra-examples-post-1.3/hbase-2.0/src/test/java/org/apache/tephra/examples/BalanceBooksTest.java
diff --git a/tephra-examples/tephra-examples-post-1.3/pom.xml b/tephra-examples/tephra-examples-post-1.3/pom.xml
new file mode 100644
index 0000000..1a7682c
--- /dev/null
+++ b/tephra-examples/tephra-examples-post-1.3/pom.xml
@@ -0,0 +1,75 @@
+<?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</artifactId>
+    <version>0.16.0-incubating-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+
+  <artifactId>tephra-examples-post-1.3</artifactId>
+  <name>Apache Tephra Examples for Hbase after Version 1.3</name>
+
+  <packaging>pom</packaging>
+  <modules>
+    <module>hbase-1.3</module>
+    <module>hbase-1.4</module>
+    <module>hbase-2.0</module>
+  </modules>
+
+  <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}/sources/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}/sources/test/java</source>
+                </sources>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+</project>
diff --git a/tephra-examples/hbase-1.3/src/main/java/org/apache/tephra/examples/BalanceBooks.java b/tephra-examples/tephra-examples-post-1.3/sources/main/java/org/apache/tephra/examples/BalanceBooks.java
similarity index 100%
rename from tephra-examples/hbase-1.3/src/main/java/org/apache/tephra/examples/BalanceBooks.java
rename to tephra-examples/tephra-examples-post-1.3/sources/main/java/org/apache/tephra/examples/BalanceBooks.java
diff --git a/tephra-examples/hbase-1.3/src/main/java/org/apache/tephra/examples/package-info.java b/tephra-examples/tephra-examples-post-1.3/sources/main/java/org/apache/tephra/examples/package-info.java
similarity index 100%
rename from tephra-examples/hbase-1.3/src/main/java/org/apache/tephra/examples/package-info.java
rename to tephra-examples/tephra-examples-post-1.3/sources/main/java/org/apache/tephra/examples/package-info.java
diff --git a/tephra-examples/hbase-1.3/src/test/java/org/apache/tephra/examples/BalanceBooksTest.java b/tephra-examples/tephra-examples-post-1.3/sources/test/java/org/apache/tephra/examples/BalanceBooksTest.java
similarity index 100%
rename from tephra-examples/hbase-1.3/src/test/java/org/apache/tephra/examples/BalanceBooksTest.java
rename to tephra-examples/tephra-examples-post-1.3/sources/test/java/org/apache/tephra/examples/BalanceBooksTest.java
diff --git a/tephra-examples/cdh-5.7/pom.xml b/tephra-examples/tephra-examples-pre-1.3/cdh-5.7/pom.xml
similarity index 94%
rename from tephra-examples/cdh-5.7/pom.xml
rename to tephra-examples/tephra-examples-pre-1.3/cdh-5.7/pom.xml
index cf448b8..28ad44d 100644
--- a/tephra-examples/cdh-5.7/pom.xml
+++ b/tephra-examples/tephra-examples-pre-1.3/cdh-5.7/pom.xml
@@ -20,7 +20,7 @@
 <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</artifactId>
+    <artifactId>tephra-examples-pre-1.3</artifactId>
     <version>0.16.0-incubating-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -40,8 +40,12 @@
   </properties>
 
   <build>
-    <sourceDirectory>../src/main/java</sourceDirectory>
-    <testSourceDirectory>../src/test/java</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
   </build>
 
   <dependencies>
diff --git a/tephra-examples/cdh-5.8/pom.xml b/tephra-examples/tephra-examples-pre-1.3/cdh-5.8/pom.xml
similarity index 94%
rename from tephra-examples/cdh-5.8/pom.xml
rename to tephra-examples/tephra-examples-pre-1.3/cdh-5.8/pom.xml
index 562e3ff..a66dff3 100644
--- a/tephra-examples/cdh-5.8/pom.xml
+++ b/tephra-examples/tephra-examples-pre-1.3/cdh-5.8/pom.xml
@@ -18,7 +18,7 @@
   -->
 <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>
-    <artifactId>tephra-examples</artifactId>
+    <artifactId>tephra-examples-pre-1.3</artifactId>
     <groupId>org.apache.tephra</groupId>
     <version>0.16.0-incubating-SNAPSHOT</version>
   </parent>
@@ -40,8 +40,12 @@
   </properties>
 
   <build>
-    <sourceDirectory>../src/main/java</sourceDirectory>
-    <testSourceDirectory>../src/test/java</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
   </build>
 
   <dependencies>
diff --git a/tephra-examples/hbase-0.96/pom.xml b/tephra-examples/tephra-examples-pre-1.3/hbase-0.96/pom.xml
similarity index 94%
rename from tephra-examples/hbase-0.96/pom.xml
rename to tephra-examples/tephra-examples-pre-1.3/hbase-0.96/pom.xml
index 5f9322b..ab09be2 100644
--- a/tephra-examples/hbase-0.96/pom.xml
+++ b/tephra-examples/tephra-examples-pre-1.3/hbase-0.96/pom.xml
@@ -18,7 +18,7 @@
   -->
 <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>
-    <artifactId>tephra-examples</artifactId>
+    <artifactId>tephra-examples-pre-1.3</artifactId>
     <groupId>org.apache.tephra</groupId>
     <version>0.16.0-incubating-SNAPSHOT</version>
   </parent>
@@ -32,8 +32,12 @@
   </properties>
 
   <build>
-    <sourceDirectory>../src/main/java</sourceDirectory>
-    <testSourceDirectory>../src/test/java</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
   </build>
 
   <dependencies>
diff --git a/tephra-examples/hbase-0.98/pom.xml b/tephra-examples/tephra-examples-pre-1.3/hbase-0.98/pom.xml
similarity index 94%
rename from tephra-examples/hbase-0.98/pom.xml
rename to tephra-examples/tephra-examples-pre-1.3/hbase-0.98/pom.xml
index 90d97f1..a02bf94 100644
--- a/tephra-examples/hbase-0.98/pom.xml
+++ b/tephra-examples/tephra-examples-pre-1.3/hbase-0.98/pom.xml
@@ -18,7 +18,7 @@
   -->
 <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>
-    <artifactId>tephra-examples</artifactId>
+    <artifactId>tephra-examples-pre-1.3</artifactId>
     <groupId>org.apache.tephra</groupId>
     <version>0.16.0-incubating-SNAPSHOT</version>
   </parent>
@@ -32,8 +32,12 @@
   </properties>
 
   <build>
-    <sourceDirectory>../src/main/java</sourceDirectory>
-    <testSourceDirectory>../src/test/java</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
   </build>
 
   <dependencies>
diff --git a/tephra-examples/hbase-1.0-cdh/pom.xml b/tephra-examples/tephra-examples-pre-1.3/hbase-1.0-cdh/pom.xml
similarity index 94%
rename from tephra-examples/hbase-1.0-cdh/pom.xml
rename to tephra-examples/tephra-examples-pre-1.3/hbase-1.0-cdh/pom.xml
index 20c7804..cc0518c 100644
--- a/tephra-examples/hbase-1.0-cdh/pom.xml
+++ b/tephra-examples/tephra-examples-pre-1.3/hbase-1.0-cdh/pom.xml
@@ -18,7 +18,7 @@
   -->
 <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>
-    <artifactId>tephra-examples</artifactId>
+    <artifactId>tephra-examples-pre-1.3</artifactId>
     <groupId>org.apache.tephra</groupId>
     <version>0.16.0-incubating-SNAPSHOT</version>
   </parent>
@@ -39,8 +39,12 @@
   </repositories>
 
   <build>
-    <sourceDirectory>../src/main/java</sourceDirectory>
-    <testSourceDirectory>../src/test/java</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
   </build>
 
   <dependencies>
diff --git a/tephra-examples/hbase-1.0/pom.xml b/tephra-examples/tephra-examples-pre-1.3/hbase-1.0/pom.xml
similarity index 94%
rename from tephra-examples/hbase-1.0/pom.xml
rename to tephra-examples/tephra-examples-pre-1.3/hbase-1.0/pom.xml
index 013d1e3..c6f5235 100644
--- a/tephra-examples/hbase-1.0/pom.xml
+++ b/tephra-examples/tephra-examples-pre-1.3/hbase-1.0/pom.xml
@@ -18,7 +18,7 @@
   -->
 <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>
-    <artifactId>tephra-examples</artifactId>
+    <artifactId>tephra-examples-pre-1.3</artifactId>
     <groupId>org.apache.tephra</groupId>
     <version>0.16.0-incubating-SNAPSHOT</version>
   </parent>
@@ -32,8 +32,12 @@
   </properties>
 
   <build>
-    <sourceDirectory>../src/main/java</sourceDirectory>
-    <testSourceDirectory>../src/test/java</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
   </build>
 
   <dependencies>
diff --git a/tephra-examples/hbase-1.1/pom.xml b/tephra-examples/tephra-examples-pre-1.3/hbase-1.1/pom.xml
similarity index 94%
rename from tephra-examples/hbase-1.1/pom.xml
rename to tephra-examples/tephra-examples-pre-1.3/hbase-1.1/pom.xml
index 5eb27d9..16a16ec 100644
--- a/tephra-examples/hbase-1.1/pom.xml
+++ b/tephra-examples/tephra-examples-pre-1.3/hbase-1.1/pom.xml
@@ -20,7 +20,7 @@
 <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</artifactId>
+    <artifactId>tephra-examples-pre-1.3</artifactId>
     <version>0.16.0-incubating-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -34,8 +34,12 @@
   </properties>
 
   <build>
-    <sourceDirectory>../src/main/java</sourceDirectory>
-    <testSourceDirectory>../src/test/java</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
   </build>
 
   <dependencies>
diff --git a/tephra-examples/hbase-1.2/pom.xml b/tephra-examples/tephra-examples-pre-1.3/hbase-1.2/pom.xml
similarity index 94%
rename from tephra-examples/hbase-1.2/pom.xml
rename to tephra-examples/tephra-examples-pre-1.3/hbase-1.2/pom.xml
index 71f5ba5..9690348 100644
--- a/tephra-examples/hbase-1.2/pom.xml
+++ b/tephra-examples/tephra-examples-pre-1.3/hbase-1.2/pom.xml
@@ -20,7 +20,7 @@
 <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</artifactId>
+    <artifactId>tephra-examples-pre-1.3</artifactId>
     <version>0.16.0-incubating-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -34,8 +34,12 @@
   </properties>
 
   <build>
-    <sourceDirectory>../src/main/java</sourceDirectory>
-    <testSourceDirectory>../src/test/java</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
   </build>
 
   <dependencies>
diff --git a/tephra-examples/tephra-examples-pre-1.3/pom.xml b/tephra-examples/tephra-examples-pre-1.3/pom.xml
new file mode 100644
index 0000000..70b2fc5
--- /dev/null
+++ b/tephra-examples/tephra-examples-pre-1.3/pom.xml
@@ -0,0 +1,80 @@
+<?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</artifactId>
+    <version>0.16.0-incubating-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+
+  <artifactId>tephra-examples-pre-1.3</artifactId>
+  <name>Apache Tephra Examples for Hbase before Version 1.3</name>
+
+  <packaging>pom</packaging>
+  <modules>
+    <module>hbase-0.96</module>
+    <module>hbase-0.98</module>
+    <module>hbase-1.0</module>
+    <module>hbase-1.0-cdh</module>
+    <module>hbase-1.1</module>
+    <module>hbase-1.2</module>
+    <module>cdh-5.7</module>
+    <module>cdh-5.8</module>
+  </modules>
+
+  <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}/sources/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}/sources/test/java</source>
+                </sources>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+</project>
diff --git a/tephra-examples/src/main/java/org/apache/tephra/examples/BalanceBooks.java b/tephra-examples/tephra-examples-pre-1.3/sources/main/java/org/apache/tephra/examples/BalanceBooks.java
similarity index 100%
rename from tephra-examples/src/main/java/org/apache/tephra/examples/BalanceBooks.java
rename to tephra-examples/tephra-examples-pre-1.3/sources/main/java/org/apache/tephra/examples/BalanceBooks.java
diff --git a/tephra-examples/src/main/java/org/apache/tephra/examples/package-info.java b/tephra-examples/tephra-examples-pre-1.3/sources/main/java/org/apache/tephra/examples/package-info.java
similarity index 100%
rename from tephra-examples/src/main/java/org/apache/tephra/examples/package-info.java
rename to tephra-examples/tephra-examples-pre-1.3/sources/main/java/org/apache/tephra/examples/package-info.java
diff --git a/tephra-examples/hbase-1.3/src/test/java/org/apache/tephra/examples/BalanceBooksTest.java b/tephra-examples/tephra-examples-pre-1.3/sources/test/java/org/apache/tephra/examples/BalanceBooksTest.java
similarity index 100%
copy from tephra-examples/hbase-1.3/src/test/java/org/apache/tephra/examples/BalanceBooksTest.java
copy to tephra-examples/tephra-examples-pre-1.3/sources/test/java/org/apache/tephra/examples/BalanceBooksTest.java
diff --git a/tephra-hbase-compat-1.1-base/pom.xml b/tephra-hbase-compat-1.1-base/pom.xml
index bb8c0c7..1c57095 100644
--- a/tephra-hbase-compat-1.1-base/pom.xml
+++ b/tephra-hbase-compat-1.1-base/pom.xml
@@ -150,4 +150,43 @@
       </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}/sources/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}/sources/test/java</source>
+                </sources>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
 </project>
diff --git a/tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/HBase11ConfigurationProvider.java b/tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/HBase11ConfigurationProvider.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/HBase11ConfigurationProvider.java
rename to tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/HBase11ConfigurationProvider.java
diff --git a/tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/SecondaryIndexTable.java b/tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/SecondaryIndexTable.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/SecondaryIndexTable.java
rename to tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/SecondaryIndexTable.java
diff --git a/tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/TransactionAwareHTable.java b/tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/TransactionAwareHTable.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/TransactionAwareHTable.java
rename to tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/TransactionAwareHTable.java
diff --git a/tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/coprocessor/CellSkipFilter.java b/tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/coprocessor/CellSkipFilter.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/coprocessor/CellSkipFilter.java
rename to tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/coprocessor/CellSkipFilter.java
diff --git a/tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionFilters.java b/tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/coprocessor/TransactionFilters.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionFilters.java
rename to tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/coprocessor/TransactionFilters.java
diff --git a/tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionProcessor.java b/tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/coprocessor/TransactionProcessor.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionProcessor.java
rename to tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/coprocessor/TransactionProcessor.java
diff --git a/tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilter.java b/tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilter.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilter.java
rename to tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilter.java
diff --git a/tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/txprune/CompactionState.java b/tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/txprune/CompactionState.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/txprune/CompactionState.java
rename to tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/txprune/CompactionState.java
diff --git a/tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/txprune/DataJanitorState.java b/tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/txprune/DataJanitorState.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/txprune/DataJanitorState.java
rename to tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/txprune/DataJanitorState.java
diff --git a/tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/txprune/HBaseTransactionPruningPlugin.java b/tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/txprune/HBaseTransactionPruningPlugin.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/txprune/HBaseTransactionPruningPlugin.java
rename to tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/txprune/HBaseTransactionPruningPlugin.java
diff --git a/tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTool.java b/tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTool.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTool.java
rename to tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTool.java
diff --git a/tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriter.java b/tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriter.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriter.java
rename to tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriter.java
diff --git a/tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplier.java b/tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplier.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplier.java
rename to tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplier.java
diff --git a/tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/txprune/TimeRegions.java b/tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/txprune/TimeRegions.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/txprune/TimeRegions.java
rename to tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/txprune/TimeRegions.java
diff --git a/tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/AbstractHBaseTableTest.java b/tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/AbstractHBaseTableTest.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/AbstractHBaseTableTest.java
rename to tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/AbstractHBaseTableTest.java
diff --git a/tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/HBase11ConfigurationProviderTest.java b/tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/HBase11ConfigurationProviderTest.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/HBase11ConfigurationProviderTest.java
rename to tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/HBase11ConfigurationProviderTest.java
diff --git a/tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/TransactionAwareHTableTest.java b/tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/TransactionAwareHTableTest.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/TransactionAwareHTableTest.java
rename to tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/TransactionAwareHTableTest.java
diff --git a/tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/coprocessor/CellSkipFilterTest.java b/tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/coprocessor/CellSkipFilterTest.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/coprocessor/CellSkipFilterTest.java
rename to tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/coprocessor/CellSkipFilterTest.java
diff --git a/tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/coprocessor/TransactionProcessorTest.java b/tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/coprocessor/TransactionProcessorTest.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/coprocessor/TransactionProcessorTest.java
rename to tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/coprocessor/TransactionProcessorTest.java
diff --git a/tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilterTest.java b/tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilterTest.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilterTest.java
rename to tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilterTest.java
diff --git a/tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/txprune/DataJanitorStateTest.java b/tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/txprune/DataJanitorStateTest.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/txprune/DataJanitorStateTest.java
rename to tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/txprune/DataJanitorStateTest.java
diff --git a/tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/txprune/InvalidListPruneTest.java b/tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/txprune/InvalidListPruneTest.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/txprune/InvalidListPruneTest.java
rename to tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/txprune/InvalidListPruneTest.java
diff --git a/tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTest.java b/tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTest.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTest.java
rename to tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/txprune/InvalidListPruningDebugTest.java
diff --git a/tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplierTest.java b/tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplierTest.java
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/test/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplierTest.java
rename to tephra-hbase-compat-1.1-base/sources/test/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriterSupplierTest.java
diff --git a/tephra-hbase-compat-1.1-base/src/test/resources/logback-test.xml b/tephra-hbase-compat-1.1-base/sources/test/resources/logback-test.xml
similarity index 100%
rename from tephra-hbase-compat-1.1-base/src/test/resources/logback-test.xml
rename to tephra-hbase-compat-1.1-base/sources/test/resources/logback-test.xml
diff --git a/tephra-hbase-compat-1.1-base/tephra-hbase-compat-1.1/pom.xml b/tephra-hbase-compat-1.1-base/tephra-hbase-compat-1.1/pom.xml
index d2399ef..7c6f4ba 100644
--- a/tephra-hbase-compat-1.1-base/tephra-hbase-compat-1.1/pom.xml
+++ b/tephra-hbase-compat-1.1-base/tephra-hbase-compat-1.1/pom.xml
@@ -22,7 +22,6 @@
     <groupId>org.apache.tephra</groupId>
     <artifactId>tephra-hbase-compat-1.1-base</artifactId>
     <version>0.16.0-incubating-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -35,8 +34,12 @@
   </properties>
 
   <build>
-    <sourceDirectory>../src/main/java</sourceDirectory>
-    <testSourceDirectory>../src/test/java</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
   </build>
 
   <dependencies>
diff --git a/tephra-hbase-compat-1.1-base/tephra-hbase-compat-1.2-cdh/pom.xml b/tephra-hbase-compat-1.1-base/tephra-hbase-compat-1.2-cdh/pom.xml
index 6bb0d6e..db3a795 100644
--- a/tephra-hbase-compat-1.1-base/tephra-hbase-compat-1.2-cdh/pom.xml
+++ b/tephra-hbase-compat-1.1-base/tephra-hbase-compat-1.2-cdh/pom.xml
@@ -22,7 +22,6 @@
     <groupId>org.apache.tephra</groupId>
     <artifactId>tephra-hbase-compat-1.1-base</artifactId>
     <version>0.16.0-incubating-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -43,8 +42,12 @@
   </repositories>
 
   <build>
-    <sourceDirectory>../src/main/java</sourceDirectory>
-    <testSourceDirectory>../src/test/java</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
   </build>
 
   <dependencies>
diff --git a/tephra-hbase-compat-1.1-base/tephra-hbase-compat-1.2/pom.xml b/tephra-hbase-compat-1.1-base/tephra-hbase-compat-1.2/pom.xml
index 75763d6..5d04db7 100644
--- a/tephra-hbase-compat-1.1-base/tephra-hbase-compat-1.2/pom.xml
+++ b/tephra-hbase-compat-1.1-base/tephra-hbase-compat-1.2/pom.xml
@@ -22,7 +22,6 @@
     <groupId>org.apache.tephra</groupId>
     <artifactId>tephra-hbase-compat-1.1-base</artifactId>
     <version>0.16.0-incubating-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -32,12 +31,15 @@
   <properties>
     <hadoop.version>2.5.1</hadoop.version>
     <hbase12.version>1.2.0</hbase12.version>
-
   </properties>
 
   <build>
-    <sourceDirectory>../src/main/java</sourceDirectory>
-    <testSourceDirectory>../src/test/java</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
   </build>
 
   <dependencies>
@@ -115,4 +117,5 @@
       </exclusions>
     </dependency>
   </dependencies>
+
 </project>