GOSSIP-78 refactor into a multi-module maven project
* add *.ipr to .gitignore
* modify existing pom to be a parent. create new pom for gossip-core.
* I left all properties and dependencies in the parent, as they seemed to be a fairly general set of dependencies.
move all the code.
* rename parent module: gossip -> gossip-parent
* move dependencies into child module
diff --git a/.gitignore b/.gitignore
index fc368f3..fab2364 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,7 @@
.idea/
*.iml
*.iws
+*.ipr
# Mac
.DS_Store
diff --git a/gossip-base/pom.xml b/gossip-base/pom.xml
new file mode 100644
index 0000000..3529bd1
--- /dev/null
+++ b/gossip-base/pom.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.gossip</groupId>
+ <artifactId>gossip-parent</artifactId>
+ <version>0.1.3-incubating-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <name>Gossip Base</name>
+ <artifactId>gossip-base</artifactId>
+ <version>0.1.3-incubating-SNAPSHOT</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-math</groupId>
+ <artifactId>commons-math</artifactId>
+ <version>${commons-math.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>io.dropwizard.metrics</groupId>
+ <artifactId>metrics-core</artifactId>
+ <version>${metrics.version}</version></dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <version>${junit.jupiter.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <version>${junit.jupiter.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.vintage</groupId>
+ <artifactId>junit-vintage-engine</artifactId>
+ <version>${junit.vintage.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.platform</groupId>
+ <artifactId>junit-platform-runner</artifactId>
+ <version>${junit.platform.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>io.teknek</groupId>
+ <artifactId>tunit</artifactId>
+ <version>${tunit.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>${log4j.version}</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.jms</groupId>
+ <artifactId>jms</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.sun.jdmk</groupId>
+ <artifactId>jmxtools</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.sun.jmx</groupId>
+ <artifactId>jmxri</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/src/main/java/org/apache/gossip/GossipSettings.java b/gossip-base/src/main/java/org/apache/gossip/GossipSettings.java
similarity index 100%
rename from src/main/java/org/apache/gossip/GossipSettings.java
rename to gossip-base/src/main/java/org/apache/gossip/GossipSettings.java
diff --git a/src/main/java/org/apache/gossip/LocalMember.java b/gossip-base/src/main/java/org/apache/gossip/LocalMember.java
similarity index 100%
rename from src/main/java/org/apache/gossip/LocalMember.java
rename to gossip-base/src/main/java/org/apache/gossip/LocalMember.java
diff --git a/src/main/java/org/apache/gossip/Member.java b/gossip-base/src/main/java/org/apache/gossip/Member.java
similarity index 100%
rename from src/main/java/org/apache/gossip/Member.java
rename to gossip-base/src/main/java/org/apache/gossip/Member.java
diff --git a/src/main/java/org/apache/gossip/RemoteMember.java b/gossip-base/src/main/java/org/apache/gossip/RemoteMember.java
similarity index 100%
rename from src/main/java/org/apache/gossip/RemoteMember.java
rename to gossip-base/src/main/java/org/apache/gossip/RemoteMember.java
diff --git a/src/main/java/org/apache/gossip/StartupSettings.java b/gossip-base/src/main/java/org/apache/gossip/StartupSettings.java
similarity index 100%
rename from src/main/java/org/apache/gossip/StartupSettings.java
rename to gossip-base/src/main/java/org/apache/gossip/StartupSettings.java
diff --git a/src/main/java/org/apache/gossip/accrual/FailureDetector.java b/gossip-base/src/main/java/org/apache/gossip/accrual/FailureDetector.java
similarity index 100%
rename from src/main/java/org/apache/gossip/accrual/FailureDetector.java
rename to gossip-base/src/main/java/org/apache/gossip/accrual/FailureDetector.java
diff --git a/src/main/java/org/apache/gossip/crdt/Crdt.java b/gossip-base/src/main/java/org/apache/gossip/crdt/Crdt.java
similarity index 100%
rename from src/main/java/org/apache/gossip/crdt/Crdt.java
rename to gossip-base/src/main/java/org/apache/gossip/crdt/Crdt.java
diff --git a/src/main/java/org/apache/gossip/crdt/CrdtBiFunctionMerge.java b/gossip-base/src/main/java/org/apache/gossip/crdt/CrdtBiFunctionMerge.java
similarity index 100%
rename from src/main/java/org/apache/gossip/crdt/CrdtBiFunctionMerge.java
rename to gossip-base/src/main/java/org/apache/gossip/crdt/CrdtBiFunctionMerge.java
diff --git a/src/main/java/org/apache/gossip/crdt/CrdtCounter.java b/gossip-base/src/main/java/org/apache/gossip/crdt/CrdtCounter.java
similarity index 100%
rename from src/main/java/org/apache/gossip/crdt/CrdtCounter.java
rename to gossip-base/src/main/java/org/apache/gossip/crdt/CrdtCounter.java
diff --git a/src/main/java/org/apache/gossip/crdt/CrdtModule.java b/gossip-base/src/main/java/org/apache/gossip/crdt/CrdtModule.java
similarity index 100%
rename from src/main/java/org/apache/gossip/crdt/CrdtModule.java
rename to gossip-base/src/main/java/org/apache/gossip/crdt/CrdtModule.java
diff --git a/src/main/java/org/apache/gossip/crdt/CrdtSet.java b/gossip-base/src/main/java/org/apache/gossip/crdt/CrdtSet.java
similarity index 100%
rename from src/main/java/org/apache/gossip/crdt/CrdtSet.java
rename to gossip-base/src/main/java/org/apache/gossip/crdt/CrdtSet.java
diff --git a/src/main/java/org/apache/gossip/crdt/GrowOnlyCounter.java b/gossip-base/src/main/java/org/apache/gossip/crdt/GrowOnlyCounter.java
similarity index 100%
rename from src/main/java/org/apache/gossip/crdt/GrowOnlyCounter.java
rename to gossip-base/src/main/java/org/apache/gossip/crdt/GrowOnlyCounter.java
diff --git a/src/main/java/org/apache/gossip/crdt/GrowOnlySet.java b/gossip-base/src/main/java/org/apache/gossip/crdt/GrowOnlySet.java
similarity index 100%
rename from src/main/java/org/apache/gossip/crdt/GrowOnlySet.java
rename to gossip-base/src/main/java/org/apache/gossip/crdt/GrowOnlySet.java
diff --git a/src/main/java/org/apache/gossip/crdt/OrSet.java b/gossip-base/src/main/java/org/apache/gossip/crdt/OrSet.java
similarity index 100%
rename from src/main/java/org/apache/gossip/crdt/OrSet.java
rename to gossip-base/src/main/java/org/apache/gossip/crdt/OrSet.java
diff --git a/src/main/java/org/apache/gossip/event/GossipListener.java b/gossip-base/src/main/java/org/apache/gossip/event/GossipListener.java
similarity index 100%
rename from src/main/java/org/apache/gossip/event/GossipListener.java
rename to gossip-base/src/main/java/org/apache/gossip/event/GossipListener.java
diff --git a/src/main/java/org/apache/gossip/event/GossipState.java b/gossip-base/src/main/java/org/apache/gossip/event/GossipState.java
similarity index 100%
rename from src/main/java/org/apache/gossip/event/GossipState.java
rename to gossip-base/src/main/java/org/apache/gossip/event/GossipState.java
diff --git a/src/main/java/org/apache/gossip/examples/StandAloneDatacenterAndRack.java b/gossip-base/src/main/java/org/apache/gossip/examples/StandAloneDatacenterAndRack.java
similarity index 100%
rename from src/main/java/org/apache/gossip/examples/StandAloneDatacenterAndRack.java
rename to gossip-base/src/main/java/org/apache/gossip/examples/StandAloneDatacenterAndRack.java
diff --git a/src/main/java/org/apache/gossip/examples/StandAloneNode.java b/gossip-base/src/main/java/org/apache/gossip/examples/StandAloneNode.java
similarity index 100%
rename from src/main/java/org/apache/gossip/examples/StandAloneNode.java
rename to gossip-base/src/main/java/org/apache/gossip/examples/StandAloneNode.java
diff --git a/src/main/java/org/apache/gossip/examples/StandAloneNodeCrdtOrSet.java b/gossip-base/src/main/java/org/apache/gossip/examples/StandAloneNodeCrdtOrSet.java
similarity index 100%
rename from src/main/java/org/apache/gossip/examples/StandAloneNodeCrdtOrSet.java
rename to gossip-base/src/main/java/org/apache/gossip/examples/StandAloneNodeCrdtOrSet.java
diff --git a/src/main/java/org/apache/gossip/manager/AbstractActiveGossiper.java b/gossip-base/src/main/java/org/apache/gossip/manager/AbstractActiveGossiper.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/AbstractActiveGossiper.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/AbstractActiveGossiper.java
diff --git a/src/main/java/org/apache/gossip/manager/Clock.java b/gossip-base/src/main/java/org/apache/gossip/manager/Clock.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/Clock.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/Clock.java
diff --git a/src/main/java/org/apache/gossip/manager/DataReaper.java b/gossip-base/src/main/java/org/apache/gossip/manager/DataReaper.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/DataReaper.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/DataReaper.java
diff --git a/src/main/java/org/apache/gossip/manager/DatacenterRackAwareActiveGossiper.java b/gossip-base/src/main/java/org/apache/gossip/manager/DatacenterRackAwareActiveGossiper.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/DatacenterRackAwareActiveGossiper.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/DatacenterRackAwareActiveGossiper.java
diff --git a/src/main/java/org/apache/gossip/manager/GossipCore.java b/gossip-base/src/main/java/org/apache/gossip/manager/GossipCore.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/GossipCore.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/GossipCore.java
diff --git a/src/main/java/org/apache/gossip/manager/GossipCoreConstants.java b/gossip-base/src/main/java/org/apache/gossip/manager/GossipCoreConstants.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/GossipCoreConstants.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/GossipCoreConstants.java
diff --git a/src/main/java/org/apache/gossip/manager/GossipManager.java b/gossip-base/src/main/java/org/apache/gossip/manager/GossipManager.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/GossipManager.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/GossipManager.java
diff --git a/src/main/java/org/apache/gossip/manager/GossipManagerBuilder.java b/gossip-base/src/main/java/org/apache/gossip/manager/GossipManagerBuilder.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/GossipManagerBuilder.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/GossipManagerBuilder.java
diff --git a/src/main/java/org/apache/gossip/manager/GossipMemberStateRefresher.java b/gossip-base/src/main/java/org/apache/gossip/manager/GossipMemberStateRefresher.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/GossipMemberStateRefresher.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/GossipMemberStateRefresher.java
diff --git a/src/main/java/org/apache/gossip/manager/PassiveGossipConstants.java b/gossip-base/src/main/java/org/apache/gossip/manager/PassiveGossipConstants.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/PassiveGossipConstants.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/PassiveGossipConstants.java
diff --git a/src/main/java/org/apache/gossip/manager/PassiveGossipThread.java b/gossip-base/src/main/java/org/apache/gossip/manager/PassiveGossipThread.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/PassiveGossipThread.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/PassiveGossipThread.java
diff --git a/src/main/java/org/apache/gossip/manager/RingStatePersister.java b/gossip-base/src/main/java/org/apache/gossip/manager/RingStatePersister.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/RingStatePersister.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/RingStatePersister.java
diff --git a/src/main/java/org/apache/gossip/manager/SimpleActiveGossipper.java b/gossip-base/src/main/java/org/apache/gossip/manager/SimpleActiveGossipper.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/SimpleActiveGossipper.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/SimpleActiveGossipper.java
diff --git a/src/main/java/org/apache/gossip/manager/SystemClock.java b/gossip-base/src/main/java/org/apache/gossip/manager/SystemClock.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/SystemClock.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/SystemClock.java
diff --git a/src/main/java/org/apache/gossip/manager/UserDataPersister.java b/gossip-base/src/main/java/org/apache/gossip/manager/UserDataPersister.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/UserDataPersister.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/UserDataPersister.java
diff --git a/src/main/java/org/apache/gossip/manager/handlers/ActiveGossipMessageHandler.java b/gossip-base/src/main/java/org/apache/gossip/manager/handlers/ActiveGossipMessageHandler.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/handlers/ActiveGossipMessageHandler.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/handlers/ActiveGossipMessageHandler.java
diff --git a/src/main/java/org/apache/gossip/manager/handlers/DefaultMessageInvoker.java b/gossip-base/src/main/java/org/apache/gossip/manager/handlers/DefaultMessageInvoker.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/handlers/DefaultMessageInvoker.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/handlers/DefaultMessageInvoker.java
diff --git a/src/main/java/org/apache/gossip/manager/handlers/MessageHandler.java b/gossip-base/src/main/java/org/apache/gossip/manager/handlers/MessageHandler.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/handlers/MessageHandler.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/handlers/MessageHandler.java
diff --git a/src/main/java/org/apache/gossip/manager/handlers/MessageInvoker.java b/gossip-base/src/main/java/org/apache/gossip/manager/handlers/MessageInvoker.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/handlers/MessageInvoker.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/handlers/MessageInvoker.java
diff --git a/src/main/java/org/apache/gossip/manager/handlers/MessageInvokerCombiner.java b/gossip-base/src/main/java/org/apache/gossip/manager/handlers/MessageInvokerCombiner.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/handlers/MessageInvokerCombiner.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/handlers/MessageInvokerCombiner.java
diff --git a/src/main/java/org/apache/gossip/manager/handlers/PerNodeDataMessageHandler.java b/gossip-base/src/main/java/org/apache/gossip/manager/handlers/PerNodeDataMessageHandler.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/handlers/PerNodeDataMessageHandler.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/handlers/PerNodeDataMessageHandler.java
diff --git a/src/main/java/org/apache/gossip/manager/handlers/ResponseHandler.java b/gossip-base/src/main/java/org/apache/gossip/manager/handlers/ResponseHandler.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/handlers/ResponseHandler.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/handlers/ResponseHandler.java
diff --git a/src/main/java/org/apache/gossip/manager/handlers/SharedDataMessageHandler.java b/gossip-base/src/main/java/org/apache/gossip/manager/handlers/SharedDataMessageHandler.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/handlers/SharedDataMessageHandler.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/handlers/SharedDataMessageHandler.java
diff --git a/src/main/java/org/apache/gossip/manager/handlers/ShutdownMessageHandler.java b/gossip-base/src/main/java/org/apache/gossip/manager/handlers/ShutdownMessageHandler.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/handlers/ShutdownMessageHandler.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/handlers/ShutdownMessageHandler.java
diff --git a/src/main/java/org/apache/gossip/manager/handlers/SimpleMessageInvoker.java b/gossip-base/src/main/java/org/apache/gossip/manager/handlers/SimpleMessageInvoker.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/handlers/SimpleMessageInvoker.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/handlers/SimpleMessageInvoker.java
diff --git a/src/main/java/org/apache/gossip/manager/impl/OnlyProcessReceivedPassiveGossipThread.java b/gossip-base/src/main/java/org/apache/gossip/manager/impl/OnlyProcessReceivedPassiveGossipThread.java
similarity index 100%
rename from src/main/java/org/apache/gossip/manager/impl/OnlyProcessReceivedPassiveGossipThread.java
rename to gossip-base/src/main/java/org/apache/gossip/manager/impl/OnlyProcessReceivedPassiveGossipThread.java
diff --git a/src/main/java/org/apache/gossip/model/ActiveGossipMessage.java b/gossip-base/src/main/java/org/apache/gossip/model/ActiveGossipMessage.java
similarity index 100%
rename from src/main/java/org/apache/gossip/model/ActiveGossipMessage.java
rename to gossip-base/src/main/java/org/apache/gossip/model/ActiveGossipMessage.java
diff --git a/src/main/java/org/apache/gossip/model/ActiveGossipOk.java b/gossip-base/src/main/java/org/apache/gossip/model/ActiveGossipOk.java
similarity index 100%
rename from src/main/java/org/apache/gossip/model/ActiveGossipOk.java
rename to gossip-base/src/main/java/org/apache/gossip/model/ActiveGossipOk.java
diff --git a/src/main/java/org/apache/gossip/model/Base.java b/gossip-base/src/main/java/org/apache/gossip/model/Base.java
similarity index 100%
rename from src/main/java/org/apache/gossip/model/Base.java
rename to gossip-base/src/main/java/org/apache/gossip/model/Base.java
diff --git a/src/main/java/org/apache/gossip/model/Fault.java b/gossip-base/src/main/java/org/apache/gossip/model/Fault.java
similarity index 100%
rename from src/main/java/org/apache/gossip/model/Fault.java
rename to gossip-base/src/main/java/org/apache/gossip/model/Fault.java
diff --git a/src/main/java/org/apache/gossip/model/Member.java b/gossip-base/src/main/java/org/apache/gossip/model/Member.java
similarity index 100%
rename from src/main/java/org/apache/gossip/model/Member.java
rename to gossip-base/src/main/java/org/apache/gossip/model/Member.java
diff --git a/src/main/java/org/apache/gossip/model/Message.java b/gossip-base/src/main/java/org/apache/gossip/model/Message.java
similarity index 100%
rename from src/main/java/org/apache/gossip/model/Message.java
rename to gossip-base/src/main/java/org/apache/gossip/model/Message.java
diff --git a/src/main/java/org/apache/gossip/model/NotAMemberFault.java b/gossip-base/src/main/java/org/apache/gossip/model/NotAMemberFault.java
similarity index 100%
rename from src/main/java/org/apache/gossip/model/NotAMemberFault.java
rename to gossip-base/src/main/java/org/apache/gossip/model/NotAMemberFault.java
diff --git a/src/main/java/org/apache/gossip/model/PerNodeDataMessage.java b/gossip-base/src/main/java/org/apache/gossip/model/PerNodeDataMessage.java
similarity index 100%
rename from src/main/java/org/apache/gossip/model/PerNodeDataMessage.java
rename to gossip-base/src/main/java/org/apache/gossip/model/PerNodeDataMessage.java
diff --git a/src/main/java/org/apache/gossip/model/Response.java b/gossip-base/src/main/java/org/apache/gossip/model/Response.java
similarity index 100%
rename from src/main/java/org/apache/gossip/model/Response.java
rename to gossip-base/src/main/java/org/apache/gossip/model/Response.java
diff --git a/src/main/java/org/apache/gossip/model/SharedDataMessage.java b/gossip-base/src/main/java/org/apache/gossip/model/SharedDataMessage.java
similarity index 100%
rename from src/main/java/org/apache/gossip/model/SharedDataMessage.java
rename to gossip-base/src/main/java/org/apache/gossip/model/SharedDataMessage.java
diff --git a/src/main/java/org/apache/gossip/model/ShutdownMessage.java b/gossip-base/src/main/java/org/apache/gossip/model/ShutdownMessage.java
similarity index 100%
rename from src/main/java/org/apache/gossip/model/ShutdownMessage.java
rename to gossip-base/src/main/java/org/apache/gossip/model/ShutdownMessage.java
diff --git a/src/main/java/org/apache/gossip/model/SignedPayload.java b/gossip-base/src/main/java/org/apache/gossip/model/SignedPayload.java
similarity index 100%
rename from src/main/java/org/apache/gossip/model/SignedPayload.java
rename to gossip-base/src/main/java/org/apache/gossip/model/SignedPayload.java
diff --git a/src/main/java/org/apache/gossip/secure/KeyTool.java b/gossip-base/src/main/java/org/apache/gossip/secure/KeyTool.java
similarity index 100%
rename from src/main/java/org/apache/gossip/secure/KeyTool.java
rename to gossip-base/src/main/java/org/apache/gossip/secure/KeyTool.java
diff --git a/src/main/java/org/apache/gossip/udp/Trackable.java b/gossip-base/src/main/java/org/apache/gossip/udp/Trackable.java
similarity index 100%
rename from src/main/java/org/apache/gossip/udp/Trackable.java
rename to gossip-base/src/main/java/org/apache/gossip/udp/Trackable.java
diff --git a/src/main/java/org/apache/gossip/udp/UdpActiveGossipMessage.java b/gossip-base/src/main/java/org/apache/gossip/udp/UdpActiveGossipMessage.java
similarity index 100%
rename from src/main/java/org/apache/gossip/udp/UdpActiveGossipMessage.java
rename to gossip-base/src/main/java/org/apache/gossip/udp/UdpActiveGossipMessage.java
diff --git a/src/main/java/org/apache/gossip/udp/UdpActiveGossipOk.java b/gossip-base/src/main/java/org/apache/gossip/udp/UdpActiveGossipOk.java
similarity index 100%
rename from src/main/java/org/apache/gossip/udp/UdpActiveGossipOk.java
rename to gossip-base/src/main/java/org/apache/gossip/udp/UdpActiveGossipOk.java
diff --git a/src/main/java/org/apache/gossip/udp/UdpNotAMemberFault.java b/gossip-base/src/main/java/org/apache/gossip/udp/UdpNotAMemberFault.java
similarity index 100%
rename from src/main/java/org/apache/gossip/udp/UdpNotAMemberFault.java
rename to gossip-base/src/main/java/org/apache/gossip/udp/UdpNotAMemberFault.java
diff --git a/src/main/java/org/apache/gossip/udp/UdpPerNodeDataMessage.java b/gossip-base/src/main/java/org/apache/gossip/udp/UdpPerNodeDataMessage.java
similarity index 100%
rename from src/main/java/org/apache/gossip/udp/UdpPerNodeDataMessage.java
rename to gossip-base/src/main/java/org/apache/gossip/udp/UdpPerNodeDataMessage.java
diff --git a/src/main/java/org/apache/gossip/udp/UdpSharedDataMessage.java b/gossip-base/src/main/java/org/apache/gossip/udp/UdpSharedDataMessage.java
similarity index 100%
rename from src/main/java/org/apache/gossip/udp/UdpSharedDataMessage.java
rename to gossip-base/src/main/java/org/apache/gossip/udp/UdpSharedDataMessage.java
diff --git a/src/main/resources/log4j.properties b/gossip-base/src/main/resources/log4j.properties
similarity index 100%
rename from src/main/resources/log4j.properties
rename to gossip-base/src/main/resources/log4j.properties
diff --git a/src/test/java/org/apache/gossip/AbstractIntegrationBase.java b/gossip-base/src/test/java/org/apache/gossip/AbstractIntegrationBase.java
similarity index 100%
rename from src/test/java/org/apache/gossip/AbstractIntegrationBase.java
rename to gossip-base/src/test/java/org/apache/gossip/AbstractIntegrationBase.java
diff --git a/src/test/java/org/apache/gossip/DataTest.java b/gossip-base/src/test/java/org/apache/gossip/DataTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/DataTest.java
rename to gossip-base/src/test/java/org/apache/gossip/DataTest.java
diff --git a/src/test/java/org/apache/gossip/IdAndPropertyTest.java b/gossip-base/src/test/java/org/apache/gossip/IdAndPropertyTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/IdAndPropertyTest.java
rename to gossip-base/src/test/java/org/apache/gossip/IdAndPropertyTest.java
diff --git a/src/test/java/org/apache/gossip/MemberTest.java b/gossip-base/src/test/java/org/apache/gossip/MemberTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/MemberTest.java
rename to gossip-base/src/test/java/org/apache/gossip/MemberTest.java
diff --git a/src/test/java/org/apache/gossip/ShutdownDeadtimeTest.java b/gossip-base/src/test/java/org/apache/gossip/ShutdownDeadtimeTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/ShutdownDeadtimeTest.java
rename to gossip-base/src/test/java/org/apache/gossip/ShutdownDeadtimeTest.java
diff --git a/src/test/java/org/apache/gossip/SignedMessageTest.java b/gossip-base/src/test/java/org/apache/gossip/SignedMessageTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/SignedMessageTest.java
rename to gossip-base/src/test/java/org/apache/gossip/SignedMessageTest.java
diff --git a/src/test/java/org/apache/gossip/StartupSettingsTest.java b/gossip-base/src/test/java/org/apache/gossip/StartupSettingsTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/StartupSettingsTest.java
rename to gossip-base/src/test/java/org/apache/gossip/StartupSettingsTest.java
diff --git a/src/test/java/org/apache/gossip/TenNodeThreeSeedTest.java b/gossip-base/src/test/java/org/apache/gossip/TenNodeThreeSeedTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/TenNodeThreeSeedTest.java
rename to gossip-base/src/test/java/org/apache/gossip/TenNodeThreeSeedTest.java
diff --git a/src/test/java/org/apache/gossip/accrual/FailureDetectorTest.java b/gossip-base/src/test/java/org/apache/gossip/accrual/FailureDetectorTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/accrual/FailureDetectorTest.java
rename to gossip-base/src/test/java/org/apache/gossip/accrual/FailureDetectorTest.java
diff --git a/src/test/java/org/apache/gossip/crdt/GrowOnlyCounterTest.java b/gossip-base/src/test/java/org/apache/gossip/crdt/GrowOnlyCounterTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/crdt/GrowOnlyCounterTest.java
rename to gossip-base/src/test/java/org/apache/gossip/crdt/GrowOnlyCounterTest.java
diff --git a/src/test/java/org/apache/gossip/crdt/GrowOnlySetTest.java b/gossip-base/src/test/java/org/apache/gossip/crdt/GrowOnlySetTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/crdt/GrowOnlySetTest.java
rename to gossip-base/src/test/java/org/apache/gossip/crdt/GrowOnlySetTest.java
diff --git a/src/test/java/org/apache/gossip/crdt/OrSetTest.java b/gossip-base/src/test/java/org/apache/gossip/crdt/OrSetTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/crdt/OrSetTest.java
rename to gossip-base/src/test/java/org/apache/gossip/crdt/OrSetTest.java
diff --git a/src/test/java/org/apache/gossip/manager/DataReaperTest.java b/gossip-base/src/test/java/org/apache/gossip/manager/DataReaperTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/manager/DataReaperTest.java
rename to gossip-base/src/test/java/org/apache/gossip/manager/DataReaperTest.java
diff --git a/src/test/java/org/apache/gossip/manager/GossipManagerBuilderTest.java b/gossip-base/src/test/java/org/apache/gossip/manager/GossipManagerBuilderTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/manager/GossipManagerBuilderTest.java
rename to gossip-base/src/test/java/org/apache/gossip/manager/GossipManagerBuilderTest.java
diff --git a/src/test/java/org/apache/gossip/manager/RingPersistenceTest.java b/gossip-base/src/test/java/org/apache/gossip/manager/RingPersistenceTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/manager/RingPersistenceTest.java
rename to gossip-base/src/test/java/org/apache/gossip/manager/RingPersistenceTest.java
diff --git a/src/test/java/org/apache/gossip/manager/UserDataPersistenceTest.java b/gossip-base/src/test/java/org/apache/gossip/manager/UserDataPersistenceTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/manager/UserDataPersistenceTest.java
rename to gossip-base/src/test/java/org/apache/gossip/manager/UserDataPersistenceTest.java
diff --git a/src/test/java/org/apache/gossip/manager/handlers/MessageInvokerTest.java b/gossip-base/src/test/java/org/apache/gossip/manager/handlers/MessageInvokerTest.java
similarity index 100%
rename from src/test/java/org/apache/gossip/manager/handlers/MessageInvokerTest.java
rename to gossip-base/src/test/java/org/apache/gossip/manager/handlers/MessageInvokerTest.java
diff --git a/src/test/resources/log4j.properties b/gossip-base/src/test/resources/log4j.properties
similarity index 100%
rename from src/test/resources/log4j.properties
rename to gossip-base/src/test/resources/log4j.properties
diff --git a/pom.xml b/pom.xml
index 827f914..f9c7814 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,25 +19,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>RELEASE</version>
- </parent>
-
- <groupId>org.apache.gossip</groupId>
- <artifactId>gossip</artifactId>
- <name>gossip</name>
- <version>0.1.3-incubating-SNAPSHOT</version>
- <packaging>jar</packaging>
- <description>A peer to peer cluster discovery service</description>
- <url>http://gossip.incubator.apache.org/</url>
-
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
- <!-- dependecy versions -->
+ <!-- dependency versions -->
<jackson.version>2.8.5</jackson.version>
<metrics.version>3.1.2</metrics.version>
<commons-math.version>1.2</commons-math.version>
@@ -55,6 +41,26 @@
<maven-dependency-plugin.version>2.10</maven-dependency-plugin.version>
</properties>
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>RELEASE</version>
+ </parent>
+
+ <name>Gossip Parent</name>
+ <groupId>org.apache.gossip</groupId>
+ <artifactId>gossip-parent</artifactId>
+ <version>0.1.3-incubating-SNAPSHOT</version>
+
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>gossip-base</module>
+ </modules>
+
+ <description>A peer to peer cluster discovery service</description>
+ <url>http://gossip.incubator.apache.org/</url>
+
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
@@ -75,96 +81,23 @@
<url>https://issues.apache.org/jira/browse/GOSSIP</url>
</issueManagement>
- <dependencies>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-core</artifactId>
- <version>${jackson.version}</version>
- </dependency>
- <dependency>
- <groupId>commons-math</groupId>
- <artifactId>commons-math</artifactId>
- <version>${commons-math.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>${jackson.version}</version>
- </dependency>
- <dependency>
- <groupId>io.dropwizard.metrics</groupId>
- <artifactId>metrics-core</artifactId>
- <version>${metrics.version}</version></dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter-api</artifactId>
- <version>${junit.jupiter.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter-engine</artifactId>
- <version>${junit.jupiter.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.vintage</groupId>
- <artifactId>junit-vintage-engine</artifactId>
- <version>${junit.vintage.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.platform</groupId>
- <artifactId>junit-platform-runner</artifactId>
- <version>${junit.platform.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>io.teknek</groupId>
- <artifactId>tunit</artifactId>
- <version>${tunit.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>${log4j.version}</version>
- <type>jar</type>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>javax.jms</groupId>
- <artifactId>jms</artifactId>
- </exclusion>
- <exclusion>
- <groupId>com.sun.jdmk</groupId>
- <artifactId>jmxtools</artifactId>
- </exclusion>
- <exclusion>
- <groupId>com.sun.jmx</groupId>
- <artifactId>jmxri</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
-
<build>
<pluginManagement>
<plugins>
- <!-- we need to tweak the maven-release-plugin for GIT -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- <version>2.5.1</version>
- <configuration>
- <pushChanges>false</pushChanges>
- <localCheckout>true</localCheckout>
- <autoVersionSubmodules>true</autoVersionSubmodules>
+ <!-- we need to tweak the maven-release-plugin for GIT -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.5.1</version>
+ <configuration>
+ <pushChanges>false</pushChanges>
+ <localCheckout>true</localCheckout>
+ <autoVersionSubmodules>true</autoVersionSubmodules>
- <releaseProfiles>distribution</releaseProfiles>
- <preparationGoals>clean install</preparationGoals>
- </configuration>
- </plugin>
+ <releaseProfiles>distribution</releaseProfiles>
+ <preparationGoals>clean install</preparationGoals>
+ </configuration>
+ </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
@@ -197,49 +130,49 @@
</plugins>
</pluginManagement>
<plugins>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <source>${java.version}</source>
- <target>${java.version}</target>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.19.1</version>
- <configuration>
- <systemPropertyVariables>
- <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
- </systemPropertyVariables>
- </configuration>
- <dependencies>
- <dependency>
- <groupId>org.junit.platform</groupId>
- <artifactId>junit-platform-surefire-provider</artifactId>
- <version>${junit.platform.version}</version>
- </dependency>
- </dependencies>
- </plugin>
<plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.1</version>
+ <configuration>
+ <source>${java.version}</source>
+ <target>${java.version}</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.19.1</version>
+ <configuration>
+ <systemPropertyVariables>
+ <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
+ </systemPropertyVariables>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>org.junit.platform</groupId>
+ <artifactId>junit-platform-surefire-provider</artifactId>
+ <version>${junit.platform.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<exclude>README.md</exclude>
<exclude>eclipse_template.xml</exclude>
</excludes>
</configuration>
- <executions>
- <execution>
- <phase>verify</phase>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
+ <executions>
+ <execution>
+ <phase>verify</phase>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
</build>
<repositories>