changeset 2766:4761e39f2d8a

Rename Agent from thermostat to thermostat-agent This housekeeping patch changes the groupid in the agent to com.redhat.thermostat.agent The version number changes to 2.99.0-SNAPSHOT. It also renames the main class from com.redhat.thermostat.main.Thermostat to com.redhat.thermostat.agent.main.ThermostatAgent, which is less ambiguous while debugging, etc. Aside from the main package, no Java package names change Reviewed-by: neugens Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2017-October/025274.html
author Simon Tooke <stooke@redhat.com>
date Tue, 03 Oct 2017 13:25:56 -0400
parents ef101bb72531
children 30a68cb57107
files agent/core/pom.xml agent/ipc/client/pom.xml agent/ipc/common/pom.xml agent/ipc/pom.xml agent/ipc/server/pom.xml agent/ipc/tcp-socket/client/pom.xml agent/ipc/tcp-socket/common/pom.xml agent/ipc/tcp-socket/pom.xml agent/ipc/tcp-socket/server/pom.xml agent/ipc/unix-socket/client/pom.xml agent/ipc/unix-socket/common/pom.xml agent/ipc/unix-socket/jnr-wrapped/jnr-x86asm/pom.xml agent/ipc/unix-socket/jnr-wrapped/pom.xml agent/ipc/unix-socket/pom.xml agent/ipc/unix-socket/server/pom.xml agent/ipc/windows-named-pipes/client/pom.xml agent/ipc/windows-named-pipes/common/pom.xml agent/ipc/windows-named-pipes/pom.xml agent/ipc/windows-named-pipes/server/pom.xml agent/pom.xml annotations/pom.xml assembly/pom.xml common/core/pom.xml common/plugin/pom.xml common/pom.xml common/portability/pom.xml common/test/pom.xml config/pom.xml dev/archetype-ext/pom.xml dev/archetype-ext/src/main/resources/META-INF/maven/archetype-metadata.xml dev/archetype-ext/src/main/resources/archetype-resources/pom.xml dev/ide-launcher/pom.xml dev/ide-launcher/src/main/java/com/redhat/thermostat/ide/IdeLauncher.java dev/ipc-test/pom.xml dev/ipc-test/test-client/pom.xml dev/ipc-test/test-launcher/pom.xml dev/ipc-test/test-server/pom.xml dev/multi-module-plugin-archetype/pom.xml dev/multi-module-plugin-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml dev/multi-module-plugin-archetype/src/main/resources/archetype-resources/agent/pom.xml dev/multi-module-plugin-archetype/src/main/resources/archetype-resources/client-cli/pom.xml dev/multi-module-plugin-archetype/src/main/resources/archetype-resources/distribution/pom.xml dev/multi-module-plugin-archetype/src/main/resources/archetype-resources/pom.xml dev/multi-module-plugin-archetype/src/main/resources/archetype-resources/storage-common/pom.xml dev/pom.xml distribution/assembly/core-assembly-macosx.xml distribution/assembly/core-assembly-windows.xml distribution/assembly/core-assembly.xml distribution/assembly/plugin-assembly.xml distribution/assembly/plugin-libs-assembly.xml distribution/pom.xml distribution/scripts/thermostat distribution/scripts/thermostat-common distribution/tools/verify-archetype-multimodule.sh distribution/windows/scripts/thermostat-common.cmd distribution/windows/scripts/thermostat.cmd integration-tests/itest-run/pom.xml integration-tests/pom.xml integration-tests/standalone/pom.xml launcher/pom.xml main/pom.xml main/src/main/java/com/redhat/thermostat/agent/main/ThermostatAgent.java main/src/main/java/com/redhat/thermostat/agent/main/internal/FrameworkOptionsProcessor.java main/src/main/java/com/redhat/thermostat/agent/main/internal/FrameworkProvider.java main/src/main/java/com/redhat/thermostat/main/Thermostat.java main/src/main/java/com/redhat/thermostat/main/internal/FrameworkOptionsProcessor.java main/src/main/java/com/redhat/thermostat/main/internal/FrameworkProvider.java main/src/main/resources/com/redhat/thermostat/agent/main/internal/bootstrapbundles.properties main/src/main/resources/com/redhat/thermostat/main/internal/bootstrapbundles.properties main/src/test/java/com/redhat/thermostat/agent/main/ThermostatAgentTest.java main/src/test/java/com/redhat/thermostat/agent/main/internal/FrameworkOptionsProcessorTest.java main/src/test/java/com/redhat/thermostat/agent/main/internal/FrameworkProviderTest.java main/src/test/java/com/redhat/thermostat/agent/main/internal/TestFrameworkFactory.java main/src/test/java/com/redhat/thermostat/main/ThermostatTest.java main/src/test/java/com/redhat/thermostat/main/internal/FrameworkOptionsProcessorTest.java main/src/test/java/com/redhat/thermostat/main/internal/FrameworkProviderTest.java main/src/test/java/com/redhat/thermostat/main/internal/TestFrameworkFactory.java main/src/test/resources/META-INF/services/org.osgi.framework.launch.FrameworkFactory plugins/commands/agent/pom.xml plugins/commands/distribution/assemblies/plugin-assembly.xml plugins/commands/distribution/pom.xml plugins/commands/pom.xml plugins/host-cpu/agent/pom.xml plugins/host-cpu/distribution/assemblies/plugin-assembly.xml plugins/host-cpu/distribution/pom.xml plugins/host-cpu/pom.xml plugins/host-memory/agent/pom.xml plugins/host-memory/distribution/assemblies/plugin-assembly.xml plugins/host-memory/distribution/pom.xml plugins/host-memory/pom.xml plugins/host-network/agent/pom.xml plugins/host-network/distribution/assemblies/plugin-assembly.xml plugins/host-network/distribution/pom.xml plugins/host-network/pom.xml plugins/host-overview/agent/pom.xml plugins/host-overview/distribution/assemblies/plugin-assembly.xml plugins/host-overview/distribution/pom.xml plugins/host-overview/pom.xml plugins/jvm-overview/agent/pom.xml plugins/jvm-overview/distribution/assemblies/plugin-assembly.xml plugins/jvm-overview/distribution/pom.xml plugins/jvm-overview/pom.xml plugins/killvm/agent/pom.xml plugins/killvm/distribution/assemblies/plugin-assembly.xml plugins/killvm/distribution/pom.xml plugins/killvm/pom.xml plugins/numa/agent/pom.xml plugins/numa/common/pom.xml plugins/numa/distribution/assemblies/plugin-assembly.xml plugins/numa/distribution/pom.xml plugins/numa/pom.xml plugins/pom.xml plugins/thread/collector/pom.xml plugins/thread/distribution/assemblies/plugin-assembly.xml plugins/thread/distribution/pom.xml plugins/thread/harvester/pom.xml plugins/thread/pom.xml plugins/vm-byteman/agent/pom.xml plugins/vm-byteman/byteman-helper-distro/pom.xml plugins/vm-byteman/byteman-helper/pom.xml plugins/vm-byteman/distribution/assemblies/plugin-assembly.xml plugins/vm-byteman/distribution/pom.xml plugins/vm-byteman/pom.xml plugins/vm-classstat/agent/pom.xml plugins/vm-classstat/common/pom.xml plugins/vm-classstat/distribution/assemblies/plugin-assembly.xml plugins/vm-classstat/distribution/pom.xml plugins/vm-classstat/pom.xml plugins/vm-compiler/agent/pom.xml plugins/vm-compiler/common/pom.xml plugins/vm-compiler/distribution/assemblies/plugin-assembly.xml plugins/vm-compiler/distribution/pom.xml plugins/vm-compiler/pom.xml plugins/vm-cpu/agent/pom.xml plugins/vm-cpu/common/pom.xml plugins/vm-cpu/distribution/assemblies/plugin-assembly.xml plugins/vm-cpu/distribution/pom.xml plugins/vm-cpu/pom.xml plugins/vm-gc/agent/pom.xml plugins/vm-gc/distribution/assemblies/plugin-assembly.xml plugins/vm-gc/distribution/pom.xml plugins/vm-gc/pom.xml plugins/vm-gc/remote-collector-command/pom.xml plugins/vm-heap-analysis/agent/pom.xml plugins/vm-heap-analysis/common/pom.xml plugins/vm-heap-analysis/distribution/assemblies/plugin-assembly.xml plugins/vm-heap-analysis/distribution/pom.xml plugins/vm-heap-analysis/hprof/pom.xml plugins/vm-heap-analysis/pom.xml plugins/vm-io/agent/pom.xml plugins/vm-io/distribution/assemblies/plugin-assembly.xml plugins/vm-io/distribution/pom.xml plugins/vm-io/pom.xml plugins/vm-jmx/agent/pom.xml plugins/vm-jmx/common/pom.xml plugins/vm-jmx/distribution/assemblies/plugin-assembly.xml plugins/vm-jmx/distribution/pom.xml plugins/vm-jmx/pom.xml plugins/vm-memory/agent/pom.xml plugins/vm-memory/distribution/assemblies/plugin-assembly.xml plugins/vm-memory/distribution/pom.xml plugins/vm-memory/pom.xml plugins/vm-numa/agent/pom.xml plugins/vm-numa/common/pom.xml plugins/vm-numa/distribution/assemblies/plugin-assembly.xml plugins/vm-numa/distribution/pom.xml plugins/vm-numa/pom.xml plugins/vm-profiler/agent/pom.xml plugins/vm-profiler/common/pom.xml plugins/vm-profiler/distribution/assemblies/plugin-assembly.xml plugins/vm-profiler/distribution/pom.xml plugins/vm-profiler/jvm-agent/pom.xml plugins/vm-profiler/pom.xml pom.xml process-handler/pom.xml storage/core/pom.xml storage/pom.xml thermostat-plugin-validator/pom.xml
diffstat 178 files changed, 1775 insertions(+), 1786 deletions(-) [+]
line wrap: on
line diff
--- a/agent/core/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/core/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
-    <artifactId>thermostat-agent</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <artifactId>thermostat-agent-agent</artifactId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-core</artifactId>
@@ -72,33 +72,33 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-portability</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-launcher</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-process-handler</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/agent/ipc/client/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/client/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc-client</artifactId>
@@ -62,7 +62,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-common</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/agent/ipc/common/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/common/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc-common</artifactId>
--- a/agent/ipc/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
-    <artifactId>thermostat-agent</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <artifactId>thermostat-agent-agent</artifactId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc</artifactId>
--- a/agent/ipc/server/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/server/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc-server</artifactId>
@@ -66,28 +66,28 @@
       <artifactId>org.osgi.core</artifactId>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-shared-config</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-common</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-portability</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/agent/ipc/tcp-socket/client/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/tcp-socket/client/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc-tcpsocket</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc-tcpsocket-client</artifactId>
@@ -62,12 +62,12 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-tcpsocket-common</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-client</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/agent/ipc/tcp-socket/common/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/tcp-socket/common/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc-tcpsocket</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc-tcpsocket-common</artifactId>
@@ -52,7 +52,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-common</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/agent/ipc/tcp-socket/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/tcp-socket/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc-tcpsocket</artifactId>
--- a/agent/ipc/tcp-socket/server/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/tcp-socket/server/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc-tcpsocket</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc-tcpsocket-server</artifactId>
@@ -66,27 +66,27 @@
       <artifactId>org.osgi.core</artifactId>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-shared-config</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-tcpsocket-common</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-server</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/agent/ipc/unix-socket/client/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/unix-socket/client/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc-unixsocket</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc-unixsocket-client</artifactId>
@@ -66,12 +66,12 @@
       <artifactId>jnr-unixsocket</artifactId>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-unixsocket-common</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-client</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/agent/ipc/unix-socket/common/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/unix-socket/common/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc-unixsocket</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc-unixsocket-common</artifactId>
@@ -56,7 +56,7 @@
       <artifactId>jnr-unixsocket</artifactId>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-common</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/agent/ipc/unix-socket/jnr-wrapped/jnr-x86asm/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/unix-socket/jnr-wrapped/jnr-x86asm/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-jnr-wrapped</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>jnr-x86asm</artifactId>
--- a/agent/ipc/unix-socket/jnr-wrapped/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/unix-socket/jnr-wrapped/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc-unixsocket</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-jnr-wrapped</artifactId>
--- a/agent/ipc/unix-socket/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/unix-socket/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc-unixsocket</artifactId>
--- a/agent/ipc/unix-socket/server/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/unix-socket/server/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc-unixsocket</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc-unixsocket-server</artifactId>
@@ -70,27 +70,27 @@
       <artifactId>jnr-unixsocket</artifactId>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-shared-config</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-unixsocket-common</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-server</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/agent/ipc/windows-named-pipes/client/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/windows-named-pipes/client/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc-winpipes</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc-winpipes-client</artifactId>
@@ -62,12 +62,12 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-winpipes-common</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-client</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/agent/ipc/windows-named-pipes/common/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/windows-named-pipes/common/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc-winpipes</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc-winpipes-common</artifactId>
@@ -83,7 +83,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-common</artifactId>
       <version>${project.version}</version>
     </dependency>
@@ -98,7 +98,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-shared-config</artifactId>
       <version>${project.version}</version>
       <scope>compile</scope>
--- a/agent/ipc/windows-named-pipes/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/windows-named-pipes/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc-winpipes</artifactId>
--- a/agent/ipc/windows-named-pipes/server/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/ipc/windows-named-pipes/server/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-ipc-winpipes</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-ipc-winpipes-server</artifactId>
@@ -66,27 +66,27 @@
       <artifactId>org.osgi.core</artifactId>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-shared-config</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-winpipes-common</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-server</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,12 +40,12 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
-    <artifactId>thermostat</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <artifactId>thermostat-agent</artifactId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
-  <artifactId>thermostat-agent</artifactId>
+  <artifactId>thermostat-agent-agent</artifactId>
   <packaging>pom</packaging>
 
   <name>Thermostat Agent</name>
--- a/annotations/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/annotations/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
-    <artifactId>thermostat</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <artifactId>thermostat-agent</artifactId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-annotations</artifactId>
--- a/assembly/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/assembly/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
-    <artifactId>thermostat</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <artifactId>thermostat-agent</artifactId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-assembly</artifactId>
--- a/common/core/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/common/core/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-common</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   
   <artifactId>thermostat-common-core</artifactId>
@@ -149,7 +149,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
@@ -191,13 +191,13 @@
     </dependency>
     
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-annotations</artifactId>
       <version>${project.version}</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
-        <groupId>com.redhat.thermostat</groupId>
+        <groupId>com.redhat.thermostat.agent</groupId>
         <artifactId>thermostat-shared-config</artifactId>
         <version>${project.version}</version>
     </dependency>
--- a/common/plugin/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/common/plugin/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-common</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   
   <artifactId>thermostat-common-plugin</artifactId>
@@ -100,12 +100,12 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
@@ -141,13 +141,13 @@
     </dependency>
     
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-annotations</artifactId>
       <version>${project.version}</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/common/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/common/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
-    <artifactId>thermostat</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <artifactId>thermostat-agent</artifactId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-agent-common</artifactId>
@@ -57,7 +57,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-annotations</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/common/portability/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/common/portability/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>com.redhat.thermostat</groupId>
+        <groupId>com.redhat.thermostat.agent</groupId>
         <artifactId>thermostat-agent-common</artifactId>
-        <version>1.99.12-SNAPSHOT</version>
+        <version>2.99.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>thermostat-common-portability</artifactId>
@@ -99,7 +99,7 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>com.redhat.thermostat</groupId>
+            <groupId>com.redhat.thermostat.agent</groupId>
             <artifactId>thermostat-annotations</artifactId>
             <version>${project.version}</version>
             <!--scope>test</scope-->
@@ -110,18 +110,18 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>com.redhat.thermostat</groupId>
+            <groupId>com.redhat.thermostat.agent</groupId>
             <artifactId>thermostat-common-test</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>com.redhat.thermostat</groupId>
+            <groupId>com.redhat.thermostat.agent</groupId>
             <artifactId>thermostat-common-core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>com.redhat.thermostat</groupId>
+            <groupId>com.redhat.thermostat.agent</groupId>
             <artifactId>thermostat-shared-config</artifactId>
             <version>${project.version}</version>
         </dependency>
--- a/common/test/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/common/test/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-agent-common</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   
   <artifactId>thermostat-common-test</artifactId>
--- a/config/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/config/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -39,9 +39,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <artifactId>thermostat</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <artifactId>thermostat-agent</artifactId>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   
   <artifactId>thermostat-shared-config</artifactId>
@@ -101,13 +101,13 @@
     </dependency>
 
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-annotations</artifactId>
       <version>${project.version}</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/dev/archetype-ext/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/archetype-ext/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-devel-modules</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-maven-archetype-ext</artifactId>
--- a/dev/archetype-ext/src/main/resources/META-INF/maven/archetype-metadata.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/archetype-ext/src/main/resources/META-INF/maven/archetype-metadata.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -46,7 +46,7 @@
       <defaultValue>The name of your Thermostat extension goes here</defaultValue>
     </requiredProperty>
     <requiredProperty key="thermostatVersion">
-      <defaultValue>1.99.12-SNAPSHOT</defaultValue>
+      <defaultValue>2.99.0-SNAPSHOT</defaultValue>
     </requiredProperty>
   </requiredProperties>
 
--- a/dev/archetype-ext/src/main/resources/archetype-resources/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/archetype-ext/src/main/resources/archetype-resources/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -18,7 +18,7 @@
          suitable thermostat artifact here. You will know best :)
     -->
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${thermostatVersion}</version>
     </dependency>
--- a/dev/ide-launcher/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/ide-launcher/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-devel-modules</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-ide-launcher</artifactId>
@@ -53,8 +53,8 @@
   
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
-      <artifactId>thermostat-main</artifactId>
+      <groupId>com.redhat.thermostat.agent</groupId>
+      <artifactId>thermostat-agent-main</artifactId>
       <version>${project.version}</version>
     </dependency>
     <!-- Make ide launcher work after the new IPC unix socket
--- a/dev/ide-launcher/src/main/java/com/redhat/thermostat/ide/IdeLauncher.java	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/ide-launcher/src/main/java/com/redhat/thermostat/ide/IdeLauncher.java	Tue Oct 03 13:25:56 2017 -0400
@@ -36,7 +36,7 @@
 
 package com.redhat.thermostat.ide;
 
-import com.redhat.thermostat.main.Thermostat;
+import com.redhat.thermostat.agent.main.ThermostatAgent;
 
 /**
  * This class is meant for launching through IDEs only. IDEs that know about
@@ -44,7 +44,7 @@
  */
 public class IdeLauncher {
     public static void main(String[] args) throws Exception {
-        Thermostat.main(args);
+        ThermostatAgent.main(args);
     }
 }
 
--- a/dev/ipc-test/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/ipc-test/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-devel-modules</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-dev-ipc-socket-test</artifactId>
--- a/dev/ipc-test/test-client/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/ipc-test/test-client/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-dev-ipc-socket-test</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-dev-ipc-test-client</artifactId>
@@ -62,7 +62,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-client</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/dev/ipc-test/test-launcher/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/ipc-test/test-launcher/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-dev-ipc-socket-test</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-dev-ipc-test-launcher</artifactId>
--- a/dev/ipc-test/test-server/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/ipc-test/test-server/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-dev-ipc-socket-test</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-dev-ipc-test-server</artifactId>
@@ -61,12 +61,12 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-shared-config</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-server</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/dev/multi-module-plugin-archetype/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/multi-module-plugin-archetype/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-devel-modules</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-maven-archetype-multimodule</artifactId>
--- a/dev/multi-module-plugin-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/multi-module-plugin-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -41,7 +41,7 @@
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <requiredProperties>
     <requiredProperty key="thermostat-core-version">
-      <defaultValue>1.99.12-SNAPSHOT</defaultValue>
+      <defaultValue>2.99.0-SNAPSHOT</defaultValue>
     </requiredProperty>
     <requiredProperty key="pluginDescription">
       <defaultValue>Thermostat example plugin</defaultValue>
--- a/dev/multi-module-plugin-archetype/src/main/resources/archetype-resources/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/multi-module-plugin-archetype/src/main/resources/archetype-resources/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -60,7 +60,7 @@
       <!-- thermostat specific dependencies -->
     
       <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-agent-core</artifactId>
       </dependency>
     
--- a/dev/multi-module-plugin-archetype/src/main/resources/archetype-resources/client-cli/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/multi-module-plugin-archetype/src/main/resources/archetype-resources/client-cli/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -24,13 +24,13 @@
       <!-- thermostat specific dependencies -->
     
       <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-client-core</artifactId>
           <type>jar</type>
       </dependency>
       
       <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-common-core</artifactId>
           <type>jar</type>
       </dependency>
--- a/dev/multi-module-plugin-archetype/src/main/resources/archetype-resources/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/multi-module-plugin-archetype/src/main/resources/archetype-resources/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -62,7 +62,7 @@
         <artifactId>maven-assembly-plugin</artifactId>
         <dependencies>
           <dependency>
-            <groupId>com.redhat.thermostat</groupId>
+            <groupId>com.redhat.thermostat.agent</groupId>
             <artifactId>thermostat-assembly</artifactId>
             <version>${thermostat-core-version}</version>
           </dependency>
--- a/dev/multi-module-plugin-archetype/src/main/resources/archetype-resources/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/multi-module-plugin-archetype/src/main/resources/archetype-resources/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -117,25 +117,25 @@
       <!-- thermostat dependencies -->
 
       <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-common-core</artifactId>
           <version>${symbol_dollar}{thermostat-core-version}</version>
       </dependency>
 
       <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-storage-core</artifactId>
           <version>${symbol_dollar}{thermostat-core-version}</version>
       </dependency>
       
       <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-agent-core</artifactId>
           <version>${symbol_dollar}{thermostat-core-version}</version>
       </dependency>
         
       <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-client-core</artifactId>
           <version>${symbol_dollar}{thermostat-core-version}</version>
       </dependency>
--- a/dev/multi-module-plugin-archetype/src/main/resources/archetype-resources/storage-common/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/multi-module-plugin-archetype/src/main/resources/archetype-resources/storage-common/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -69,12 +69,12 @@
       <!-- thermostat specific dependencies -->
     
       <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-storage-core</artifactId>
       </dependency>
       
       <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-common-core</artifactId>
       </dependency>
     
--- a/dev/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/dev/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
-    <artifactId>thermostat</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <artifactId>thermostat-agent</artifactId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-devel-modules</artifactId>
--- a/distribution/assembly/core-assembly-macosx.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/distribution/assembly/core-assembly-macosx.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -49,21 +49,21 @@
       <useProjectArtifact>true</useProjectArtifact>
       <unpack>false</unpack>
       <includes>
-        <include>com.redhat.thermostat:thermostat-main</include>
-        <include>com.redhat.thermostat:thermostat-launcher</include>
-        <include>com.redhat.thermostat:thermostat-agent-core</include>
-        <include>com.redhat.thermostat:thermostat-agent-command</include>
-        <include>com.redhat.thermostat:thermostat-agent-command-server</include>
-        <include>com.redhat.thermostat:thermostat-agent-proxy-server</include>
-        <include>com.redhat.thermostat:thermostat-agent-ipc-tcpsocket-server</include>
-        <include>com.redhat.thermostat:thermostat-agent-ipc-tcpsocket-client</include>
-        <include>com.redhat.thermostat:thermostat-agent-ipc-unixsocket-server</include>
-        <include>com.redhat.thermostat:thermostat-agent-ipc-unixsocket-client</include>
-        <include>com.redhat.thermostat:thermostat-common-core</include>
-        <include>com.redhat.thermostat:thermostat-common-plugin</include>
-        <include>com.redhat.thermostat:thermostat-common-portability</include>
-        <include>com.redhat.thermostat:thermostat-process-handler</include>
-        <include>com.redhat.thermostat:thermostat-storage-core</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-main</include>
+        <include>com.redhat.thermostat.agent:thermostat-launcher</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-core</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-command</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-command-server</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-proxy-server</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-ipc-tcpsocket-server</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-ipc-tcpsocket-client</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-ipc-unixsocket-server</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-ipc-unixsocket-client</include>
+        <include>com.redhat.thermostat.agent:thermostat-common-core</include>
+        <include>com.redhat.thermostat.agent:thermostat-common-plugin</include>
+        <include>com.redhat.thermostat.agent:thermostat-common-portability</include>
+        <include>com.redhat.thermostat.agent:thermostat-process-handler</include>
+        <include>com.redhat.thermostat.agent:thermostat-storage-core</include>
         <include>org.osgi:org.osgi.compendium</include>
         <include>org.apache:org.apache.felix.scr</include>
         <include>commons-codec:commons-codec</include>
@@ -74,7 +74,7 @@
         <include>org.eclipse.jetty:jetty-util</include>
         <include>javax.servlet:javax.servlet-api</include>
         <!-- Remove once upstream has OSGi metadata -->
-        <include>com.redhat.thermostat:jnr-x86asm</include>
+        <include>com.redhat.thermostat.agent:jnr-x86asm</include>
       </includes>
       <excludes>
         <exclude>org.osgi:org.osgi.core</exclude>
--- a/distribution/assembly/core-assembly-windows.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/distribution/assembly/core-assembly-windows.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -49,21 +49,21 @@
       <useProjectArtifact>true</useProjectArtifact>
       <unpack>false</unpack>
       <includes>
-        <include>com.redhat.thermostat:thermostat-main</include>
-        <include>com.redhat.thermostat:thermostat-launcher</include>
-        <include>com.redhat.thermostat:thermostat-agent-core</include>
-        <include>com.redhat.thermostat:thermostat-agent-command</include>
-        <include>com.redhat.thermostat:thermostat-agent-command-server</include>
-        <include>com.redhat.thermostat:thermostat-agent-proxy-server</include>
-        <include>com.redhat.thermostat:thermostat-agent-ipc-tcpsocket-server</include>
-        <include>com.redhat.thermostat:thermostat-agent-ipc-tcpsocket-client</include>
-        <include>com.redhat.thermostat:thermostat-agent-ipc-winpipes-server</include>
-        <include>com.redhat.thermostat:thermostat-agent-ipc-winpipes-client</include>
-        <include>com.redhat.thermostat:thermostat-common-core</include>
-        <include>com.redhat.thermostat:thermostat-common-plugin</include>
-        <include>com.redhat.thermostat:thermostat-common-portability</include>
-        <include>com.redhat.thermostat:thermostat-process-handler</include>
-        <include>com.redhat.thermostat:thermostat-storage-core</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-main</include>
+        <include>com.redhat.thermostat.agent:thermostat-launcher</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-core</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-command</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-command-server</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-proxy-server</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-ipc-tcpsocket-server</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-ipc-tcpsocket-client</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-ipc-winpipes-server</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-ipc-winpipes-client</include>
+        <include>com.redhat.thermostat.agent:thermostat-common-core</include>
+        <include>com.redhat.thermostat.agent:thermostat-common-plugin</include>
+        <include>com.redhat.thermostat.agent:thermostat-common-portability</include>
+        <include>com.redhat.thermostat.agent:thermostat-process-handler</include>
+        <include>com.redhat.thermostat.agent:thermostat-storage-core</include>
         <include>org.osgi:org.osgi.compendium</include>
         <include>org.apache:org.apache.felix.scr</include>
         <include>commons-codec:commons-codec</include>
--- a/distribution/assembly/core-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/distribution/assembly/core-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -49,19 +49,19 @@
       <useProjectArtifact>true</useProjectArtifact>
       <unpack>false</unpack>
       <includes>
-        <include>com.redhat.thermostat:thermostat-main</include>
-        <include>com.redhat.thermostat:thermostat-launcher</include>
-        <include>com.redhat.thermostat:thermostat-agent-core</include>
-        <include>com.redhat.thermostat:thermostat-agent-proxy-server</include>
-        <include>com.redhat.thermostat:thermostat-agent-ipc-tcpsocket-server</include>
-        <include>com.redhat.thermostat:thermostat-agent-ipc-tcpsocket-client</include>
-        <include>com.redhat.thermostat:thermostat-agent-ipc-unixsocket-server</include>
-        <include>com.redhat.thermostat:thermostat-agent-ipc-unixsocket-client</include>
-        <include>com.redhat.thermostat:thermostat-common-core</include>
-        <include>com.redhat.thermostat:thermostat-common-plugin</include>
-        <include>com.redhat.thermostat:thermostat-common-portability</include>
-        <include>com.redhat.thermostat:thermostat-process-handler</include>
-        <include>com.redhat.thermostat:thermostat-storage-core</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-main</include>
+        <include>com.redhat.thermostat.agent:thermostat-launcher</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-core</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-proxy-server</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-ipc-tcpsocket-server</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-ipc-tcpsocket-client</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-ipc-unixsocket-server</include>
+        <include>com.redhat.thermostat.agent:thermostat-agent-ipc-unixsocket-client</include>
+        <include>com.redhat.thermostat.agent:thermostat-common-core</include>
+        <include>com.redhat.thermostat.agent:thermostat-common-plugin</include>
+        <include>com.redhat.thermostat.agent:thermostat-common-portability</include>
+        <include>com.redhat.thermostat.agent:thermostat-process-handler</include>
+        <include>com.redhat.thermostat.agent:thermostat-storage-core</include>
         <include>org.osgi:org.osgi.compendium</include>
         <include>org.apache:org.apache.felix.scr</include>
         <include>commons-codec:commons-codec</include>
@@ -72,7 +72,7 @@
         <include>org.eclipse.jetty:jetty-util</include>
         <include>javax.servlet:javax.servlet-api</include>
         <!-- Remove once upstream has OSGi metadata -->
-        <include>com.redhat.thermostat:jnr-x86asm</include>
+        <include>com.redhat.thermostat.agent:jnr-x86asm</include>
       </includes>
       <excludes>
         <exclude>org.osgi:org.osgi.core</exclude>
--- a/distribution/assembly/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/distribution/assembly/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -49,26 +49,26 @@
       <useProjectArtifact>false</useProjectArtifact>
       <unpack>true</unpack>
       <includes>
-        <include>com.redhat.thermostat:thermostat-host-overview-distribution</include>
-        <include>com.redhat.thermostat:thermostat-host-cpu-distribution</include>
-        <include>com.redhat.thermostat:thermostat-host-memory-distribution</include>
-        <include>com.redhat.thermostat:thermostat-host-network-distribution</include>
-        <include>com.redhat.thermostat:thermostat-jvm-overview-distribution</include>
-        <include>com.redhat.thermostat:thermostat-vm-gc-distribution</include>
-        <include>com.redhat.thermostat:thermostat-vm-memory-distribution</include>
-        <include>com.redhat.thermostat:thermostat-vm-io-distribution</include>
-        <include>com.redhat.thermostat:thermostat-vm-byteman-distribution</include>
-        <include>com.redhat.thermostat:thermostat-commands-distribution</include>
-        <include>com.redhat.thermostat:thermostat-killvm-distribution</include>
-<!--        <include>com.redhat.thermostat:thermostat-numa-distribution</include>-->
-<!--        <include>com.redhat.thermostat:thermostat-thread-distribution</include>-->
-<!--        <include>com.redhat.thermostat:thermostat-vm-classstat-distribution</include>-->
-<!--        <include>com.redhat.thermostat:thermostat-vm-compiler-distribution</include>-->
-<!--        <include>com.redhat.thermostat:thermostat-vm-cpu-distribution</include>-->
-<!--        <include>com.redhat.thermostat:thermostat-vm-heap-analysis-distribution</include>-->
-<!--        <include>com.redhat.thermostat:thermostat-vm-jmx-distribution</include>-->
-<!--        <include>com.redhat.thermostat:thermostat-vm-profiler-distribution</include>-->
-<!--        <include>com.redhat.thermostat:thermostat-vm-numa-distribution</include>-->
+        <include>com.redhat.thermostat.agent:thermostat-host-overview-distribution</include>
+        <include>com.redhat.thermostat.agent:thermostat-host-cpu-distribution</include>
+        <include>com.redhat.thermostat.agent:thermostat-host-memory-distribution</include>
+        <include>com.redhat.thermostat.agent:thermostat-host-network-distribution</include>
+        <include>com.redhat.thermostat.agent:thermostat-jvm-overview-distribution</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-gc-distribution</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-memory-distribution</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-io-distribution</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-byteman-distribution</include>
+        <include>com.redhat.thermostat.agent:thermostat-commands-distribution</include>
+        <include>com.redhat.thermostat.agent:thermostat-killvm-distribution</include>
+<!--        <include>com.redhat.thermostat.agent:thermostat-numa-distribution</include>-->
+<!--        <include>com.redhat.thermostat.agent:thermostat-thread-distribution</include>-->
+<!--        <include>com.redhat.thermostat.agent:thermostat-vm-classstat-distribution</include>-->
+<!--        <include>com.redhat.thermostat.agent:thermostat-vm-compiler-distribution</include>-->
+<!--        <include>com.redhat.thermostat.agent:thermostat-vm-cpu-distribution</include>-->
+<!--        <include>com.redhat.thermostat.agent:thermostat-vm-heap-analysis-distribution</include>-->
+<!--        <include>com.redhat.thermostat.agent:thermostat-vm-jmx-distribution</include>-->
+<!--        <include>com.redhat.thermostat.agent:thermostat-vm-profiler-distribution</include>-->
+<!--        <include>com.redhat.thermostat.agent:thermostat-vm-numa-distribution</include>-->
       </includes>
       <unpackOptions>
         <includes>
--- a/distribution/assembly/plugin-libs-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/distribution/assembly/plugin-libs-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -49,7 +49,7 @@
       <useProjectArtifact>false</useProjectArtifact>
       <unpack>true</unpack>
       <includes>
-        <include>com.redhat.thermostat:thermostat-vm-byteman-helper-distro</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-byteman-helper-distro</include>
       </includes>
     </dependencySet>  
   </dependencySets>
--- a/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
-    <artifactId>thermostat</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <artifactId>thermostat-agent</artifactId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-distribution</artifactId>
@@ -84,12 +84,12 @@
       </properties>
       <dependencies>
         <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-agent-ipc-unixsocket-server</artifactId>
           <version>${project.version}</version>
         </dependency>
         <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-agent-ipc-unixsocket-client</artifactId>
           <version>${project.version}</version>
         </dependency>
@@ -130,12 +130,12 @@
       </properties>
       <dependencies>
         <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-agent-ipc-unixsocket-server</artifactId>
           <version>${project.version}</version>
         </dependency>
         <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-agent-ipc-unixsocket-client</artifactId>
           <version>${project.version}</version>
         </dependency>
@@ -173,12 +173,12 @@
       </properties>
       <dependencies>
         <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-agent-ipc-winpipes-server</artifactId>
           <version>${project.version}</version>
         </dependency>
         <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-agent-ipc-winpipes-client</artifactId>
           <version>${project.version}</version>
         </dependency>
@@ -401,56 +401,56 @@
     <!-- thermostat core parts. Be sure to
          also adjust ../distribution/assembly/core-assembly*.xml -->
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
-      <artifactId>thermostat-main</artifactId>
+      <groupId>com.redhat.thermostat.agent</groupId>
+      <artifactId>thermostat-agent-main</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-launcher</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-tcpsocket-server</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-tcpsocket-client</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>jnr-x86asm</artifactId>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-killvm-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-plugin</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-portability</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-        <groupId>com.redhat.thermostat</groupId>
+        <groupId>com.redhat.thermostat.agent</groupId>
         <artifactId>thermostat-process-handler</artifactId>
         <version>${project.version}</version>
     </dependency>
@@ -460,61 +460,61 @@
     <!-- Be sure to add the distribution module of your plugin below
          with type "zip", and also to ../distribution/assembly/plugin-assembly*.xml -->
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-host-overview-distribution</artifactId>
       <version>${project.version}</version>
       <type>zip</type>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-host-cpu-distribution</artifactId>
       <version>${project.version}</version>
       <type>zip</type>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-host-memory-distribution</artifactId>
       <version>${project.version}</version>
       <type>zip</type>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-host-network-distribution</artifactId>
       <version>${project.version}</version>
       <type>zip</type>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-jvm-overview-distribution</artifactId>
       <version>${project.version}</version>
       <type>zip</type>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-gc-distribution</artifactId>
       <version>${project.version}</version>
       <type>zip</type>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-memory-distribution</artifactId>
       <version>${project.version}</version>
       <type>zip</type>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-io-distribution</artifactId>
       <version>${project.version}</version>
       <type>zip</type>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-killvm-distribution</artifactId>
       <version>${project.version}</version>
       <type>zip</type>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-commands-distribution</artifactId>
       <version>${project.version}</version>
       <type>zip</type>
@@ -523,67 +523,67 @@
          thermostat-vm-byteman-helper. List it explicitly so
          that copy deps works. -->
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-byteman-helper-distro</artifactId>
       <version>${project.version}</version>
       <type>zip</type>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-byteman-distribution</artifactId>
       <version>${project.version}</version>
       <type>zip</type>
     </dependency>
     <!--<dependency>-->
-      <!--<groupId>com.redhat.thermostat</groupId>-->
+      <!--<groupId>com.redhat.thermostat.agent</groupId>-->
       <!--<artifactId>thermostat-numa-distribution</artifactId>-->
       <!--<version>${project.version}</version>-->
       <!--<type>zip</type>-->
     <!--</dependency>-->
     <!--<dependency>-->
-      <!--<groupId>com.redhat.thermostat</groupId>-->
+      <!--<groupId>com.redhat.thermostat.agent</groupId>-->
       <!--<artifactId>thermostat-vm-numa-distribution</artifactId>-->
       <!--<version>${project.version}</version>-->
       <!--<type>zip</type>-->
     <!--</dependency>-->
     <!--<dependency>-->
-      <!--<groupId>com.redhat.thermostat</groupId>-->
+      <!--<groupId>com.redhat.thermostat.agent</groupId>-->
       <!--<artifactId>thermostat-thread-distribution</artifactId>-->
       <!--<version>${project.version}</version>-->
       <!--<type>zip</type>-->
     <!--</dependency>-->
     <!--<dependency>-->
-      <!--<groupId>com.redhat.thermostat</groupId>-->
+      <!--<groupId>com.redhat.thermostat.agent</groupId>-->
       <!--<artifactId>thermostat-vm-classstat-distribution</artifactId>-->
       <!--<version>${project.version}</version>-->
       <!--<type>zip</type>-->
     <!--</dependency>-->
     <!--<dependency>-->
-      <!--<groupId>com.redhat.thermostat</groupId>-->
+      <!--<groupId>com.redhat.thermostat.agent</groupId>-->
       <!--<artifactId>thermostat-vm-compiler-distribution</artifactId>-->
       <!--<version>${project.version}</version>-->
       <!--<type>zip</type>-->
     <!--</dependency>-->
     <!--<dependency>-->
-      <!--<groupId>com.redhat.thermostat</groupId>-->
+      <!--<groupId>com.redhat.thermostat.agent</groupId>-->
       <!--<artifactId>thermostat-vm-cpu-distribution</artifactId>-->
       <!--<version>${project.version}</version>-->
       <!--<type>zip</type>-->
     <!--</dependency>-->
     <!--<dependency>-->
-      <!--<groupId>com.redhat.thermostat</groupId>-->
+      <!--<groupId>com.redhat.thermostat.agent</groupId>-->
       <!--<artifactId>thermostat-vm-heap-analysis-distribution</artifactId>-->
       <!--<version>${project.version}</version>-->
       <!--<type>zip</type>-->
     <!--</dependency>-->
     <!--<dependency>-->
-      <!--<groupId>com.redhat.thermostat</groupId>-->
+      <!--<groupId>com.redhat.thermostat.agent</groupId>-->
       <!--<artifactId>thermostat-vm-jmx-distribution</artifactId>-->
       <!--<version>${project.version}</version>-->
       <!--<type>zip</type>-->
     <!--</dependency>-->
     <!--<dependency>-->
-      <!--<groupId>com.redhat.thermostat</groupId>-->
+      <!--<groupId>com.redhat.thermostat.agent</groupId>-->
       <!--<artifactId>thermostat-vm-profiler-distribution</artifactId>-->
       <!--<version>${project.version}</version>-->
       <!--<type>zip</type>-->
--- a/distribution/scripts/thermostat	Fri Sep 29 10:45:11 2017 -0400
+++ b/distribution/scripts/thermostat	Tue Oct 03 13:25:56 2017 -0400
@@ -50,7 +50,7 @@
 # will get started by the OSGi framework once that's up.
 BOOT_CLASSPATH="${THERMOSTAT_LIBS}/org.apache.felix.framework-@felix.framework.version@.jar"
 BOOT_CLASSPATH="${BOOT_CLASSPATH}:${THERMOSTAT_LIBS}/thermostat-launcher-@project.version@.jar"
-BOOT_CLASSPATH="${BOOT_CLASSPATH}:${THERMOSTAT_LIBS}/thermostat-main-@project.version@.jar"
+BOOT_CLASSPATH="${BOOT_CLASSPATH}:${THERMOSTAT_LIBS}/thermostat-agent-main-@project.version@.jar"
 BOOT_CLASSPATH="${BOOT_CLASSPATH}:${THERMOSTAT_LIBS}/thermostat-shared-config-@project.version@.jar"
 
 # Append extra class path entries coming from the profiles
--- a/distribution/scripts/thermostat-common	Fri Sep 29 10:45:11 2017 -0400
+++ b/distribution/scripts/thermostat-common	Tue Oct 03 13:25:56 2017 -0400
@@ -96,7 +96,7 @@
 THERMOSTAT_LIBS="${THERMOSTAT_HOME}/libs"
 
 # Duplicated in ThermostatVmMainLabelDecorator
-THERMOSTAT_MAIN="com.redhat.thermostat.main.Thermostat"
+THERMOSTAT_MAIN="com.redhat.thermostat.agent.main.ThermostatAgent"
 
 if [[ "${JAVA_HOME}" = "" ]]; then
   jdk_home_candidate="@thermostat.jdk.home@"
--- a/distribution/tools/verify-archetype-multimodule.sh	Fri Sep 29 10:45:11 2017 -0400
+++ b/distribution/tools/verify-archetype-multimodule.sh	Tue Oct 03 13:25:56 2017 -0400
@@ -136,7 +136,7 @@
 #   Please enter username for storage at http://127.0.0.1:8999/thermostat/storage:client-tester
 #   Please enter password for storage at http://127.0.0.1:8999/thermostat/storage:
 #   HOST_ID                              HOST                  VM_ID                                VM_PID STATUS  VM_NAME
-#   1cfd3933-3fb1-4090-a377-39a7b57d48a8 localhost.localdomain 339c274e-b385-42ca-81a9-dfda4cb4ca51 21985  EXITED  com.redhat.thermostat.main.Thermostat
+#   1cfd3933-3fb1-4090-a377-39a7b57d48a8 localhost.localdomain 339c274e-b385-42ca-81a9-dfda4cb4ca51 21985  EXITED  Thermostat
 # 
 # So the first two lines is prompt, 1 line header, one line with an agent ID
 # which we are actually interested in.
--- a/distribution/windows/scripts/thermostat-common.cmd	Fri Sep 29 10:45:11 2017 -0400
+++ b/distribution/windows/scripts/thermostat-common.cmd	Tue Oct 03 13:25:56 2017 -0400
@@ -39,7 +39,7 @@
 set USER_THERMOSTAT_HOME=%USERPROFILE%\.thermostat-ng
 
 :: Duplicated in ThermostatVmMainLabelDecorator
-set THERMOSTAT_MAIN=com.redhat.thermostat.main.Thermostat
+set THERMOSTAT_MAIN=com.redhat.thermostat.agent.main.ThermostatAgent
 set jdk_home_candidate=@thermostat.jdk.home@
 
 if not defined JAVA_HOME (
--- a/distribution/windows/scripts/thermostat.cmd	Fri Sep 29 10:45:11 2017 -0400
+++ b/distribution/windows/scripts/thermostat.cmd	Tue Oct 03 13:25:56 2017 -0400
@@ -54,7 +54,7 @@
 :: will get started by the OSGi framework once that's up.
 set BOOT_CLASSPATH=%THERMOSTAT_LIBS%\org.apache.felix.framework-@felix.framework.version@.jar
 set BOOT_CLASSPATH=%BOOT_CLASSPATH%;%THERMOSTAT_LIBS%\thermostat-launcher-@project.version@.jar
-set BOOT_CLASSPATH=%BOOT_CLASSPATH%;%THERMOSTAT_LIBS%\thermostat-main-@project.version@.jar
+set BOOT_CLASSPATH=%BOOT_CLASSPATH%;%THERMOSTAT_LIBS%\thermostat-agent-main-@project.version@.jar
 set BOOT_CLASSPATH=%BOOT_CLASSPATH%;%THERMOSTAT_LIBS%\thermostat-shared-config-@project.version@.jar
 
 :: Append extra class path entries coming from the profiles
--- a/integration-tests/itest-run/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/integration-tests/itest-run/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-integration-tests</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-integration-tests-run</artifactId>
@@ -192,7 +192,7 @@
 
     <!-- thermostat parts -->
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-distribution</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
@@ -200,7 +200,7 @@
       <type>pom</type>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-web-war</artifactId>
       <version>${project.version}</version>
       <type>war</type>
--- a/integration-tests/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/integration-tests/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
-    <artifactId>thermostat</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <artifactId>thermostat-agent</artifactId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-integration-tests</artifactId>
--- a/integration-tests/standalone/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/integration-tests/standalone/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-integration-tests</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-integration-tests-standalone</artifactId>
@@ -117,14 +117,14 @@
     </dependency>
 
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-integration-tests-run</artifactId>
       <version>${project.version}</version>
       <type>test-jar</type>
     </dependency>
 
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/launcher/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/launcher/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
-    <artifactId>thermostat</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <artifactId>thermostat-agent</artifactId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-launcher</artifactId>
@@ -120,23 +120,23 @@
       <artifactId>org.apache.felix.scr.annotations</artifactId>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-plugin-validator</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/main/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/main/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,15 +40,15 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
-    <artifactId>thermostat</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <artifactId>thermostat-agent</artifactId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
-  <artifactId>thermostat-main</artifactId>
+  <artifactId>thermostat-agent-main</artifactId>
   <packaging>bundle</packaging>
 
-  <name>Thermostat Main</name>
+  <name>Thermostat Agent Main</name>
 
   <dependencies>
     <dependency>
@@ -94,12 +94,12 @@
     </dependency>
 
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-launcher</artifactId>
       <version>${project.version}</version>
     </dependency>
@@ -127,14 +127,14 @@
             the maven resourced mechanism.
             Doing it this way avoids using the BND filtering, which doesn't support '@' tokens.
             -->
-            <Include-Resource>{maven-resources}, com/redhat/thermostat/main/internal/bootstrapbundles.properties=target/classes/com/redhat/thermostat/main/internal/bootstrapbundles.properties</Include-Resource>
+            <Include-Resource>{maven-resources}, com/redhat/thermostat/agent/main/internal/bootstrapbundles.properties=target/classes/com/redhat/thermostat/agent/main/internal/bootstrapbundles.properties</Include-Resource>
             <Bundle-Vendor>Red Hat, Inc.</Bundle-Vendor>
-            <Bundle-SymbolicName>com.redhat.thermostat.main</Bundle-SymbolicName>
+            <Bundle-SymbolicName>com.redhat.thermostat.agent.main</Bundle-SymbolicName>
             <Export-Package>
-              com.redhat.thermostat.main,
+              com.redhat.thermostat.agent.main,
             </Export-Package>
             <Private-Package>
-              com.redhat.thermostat.main.internal
+              com.redhat.thermostat.agent.main.internal
             </Private-Package>
             <!-- Do not autogenerate uses clauses in Manifests -->
             <_nouses>true</_nouses>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main/src/main/java/com/redhat/thermostat/agent/main/ThermostatAgent.java	Tue Oct 03 13:25:56 2017 -0400
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2012-2017 Red Hat, Inc.
+ *
+ * This file is part of Thermostat.
+ *
+ * Thermostat is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2, or (at your
+ * option) any later version.
+ *
+ * Thermostat is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Thermostat; see the file COPYING.  If not see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Linking this code with other modules is making a combined work
+ * based on this code.  Thus, the terms and conditions of the GNU
+ * General Public License cover the whole combination.
+ *
+ * As a special exception, the copyright holders of this code give
+ * you permission to link this code with independent modules to
+ * produce an executable, regardless of the license terms of these
+ * independent modules, and to copy and distribute the resulting
+ * executable under terms of your choice, provided that you also
+ * meet, for each linked independent module, the terms and conditions
+ * of the license of that module.  An independent module is a module
+ * which is not derived from or based on this code.  If you modify
+ * this code, you may extend this exception to your version of the
+ * library, but you are not obligated to do so.  If you do not wish
+ * to do so, delete this exception statement from your version.
+ */
+
+package com.redhat.thermostat.agent.main;
+
+import com.redhat.thermostat.agent.main.internal.FrameworkOptionsProcessor;
+import com.redhat.thermostat.agent.main.internal.FrameworkProvider;
+import com.redhat.thermostat.shared.config.CommonPaths;
+import com.redhat.thermostat.shared.config.internal.CommonPathsImpl;
+
+public class ThermostatAgent {
+
+    /**
+     * @param args the arguments to the program
+     */
+    public static void main(String[] args) {
+        CommonPaths paths = new CommonPathsImpl();
+
+        ThermostatAgent thermostat = new ThermostatAgent();
+        thermostat.start(paths, args);
+    }
+
+    public void start(CommonPaths paths, String[] args) {
+        FrameworkOptionsProcessor frameworkOptions = new FrameworkOptionsProcessor(args);
+
+        FrameworkProvider frameworkProvider = createFrameworkProvider(paths, frameworkOptions);
+        frameworkProvider.start(frameworkOptions.getOtherOptions());
+    }
+
+    /* allow overriding for unit testing */
+    protected FrameworkProvider createFrameworkProvider(CommonPaths paths, FrameworkOptionsProcessor options) {
+        return new FrameworkProvider(paths, options);
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main/src/main/java/com/redhat/thermostat/agent/main/internal/FrameworkOptionsProcessor.java	Tue Oct 03 13:25:56 2017 -0400
@@ -0,0 +1,124 @@
+/*
+ * Copyright 2012-2017 Red Hat, Inc.
+ *
+ * This file is part of Thermostat.
+ *
+ * Thermostat is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2, or (at your
+ * option) any later version.
+ *
+ * Thermostat is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Thermostat; see the file COPYING.  If not see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Linking this code with other modules is making a combined work
+ * based on this code.  Thus, the terms and conditions of the GNU
+ * General Public License cover the whole combination.
+ *
+ * As a special exception, the copyright holders of this code give
+ * you permission to link this code with independent modules to
+ * produce an executable, regardless of the license terms of these
+ * independent modules, and to copy and distribute the resulting
+ * executable under terms of your choice, provided that you also
+ * meet, for each linked independent module, the terms and conditions
+ * of the license of that module.  An independent module is a module
+ * which is not derived from or based on this code.  If you modify
+ * this code, you may extend this exception to your version of the
+ * library, but you are not obligated to do so.  If you do not wish
+ * to do so, delete this exception statement from your version.
+ */
+
+package com.redhat.thermostat.agent.main.internal;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import com.redhat.thermostat.launcher.FrameworkOptions;
+
+/**
+ * Thermostat options for the OSGi framework and relevant debug output.
+ *
+ */
+public class FrameworkOptionsProcessor {
+
+    private final Map<FrameworkOptions, String> globalOptions;
+    private final String[] otherOptions;
+
+    public FrameworkOptionsProcessor(String[] args) {
+        this.globalOptions = new HashMap<>();
+        initializeDefaultGlobalOptions();
+        this.otherOptions = processGlobalOptions(args);
+    }
+
+    private void initializeDefaultGlobalOptions() {
+        // Set up default boot delegation to allow the vm-profiler and
+        // byteman to work correctly by default.
+        globalOptions.put(FrameworkOptions.BOOT_DELEGATION,
+                // vm-profiler
+                "com.redhat.thermostat.vm.profiler.agent.jvm," +
+                "com.redhat.thermostat.vm.profiler.agent.asm," +
+                "com.redhat.thermostat.vm.profiler.agent.asm.commons," +
+                // byteman instrumentation
+                "org.jboss.byteman.rule," +
+                "org.jboss.byteman.rule.exception"
+                );
+    }
+
+    private String[] processGlobalOptions(String[] args) {
+        List<String> toProcess = new ArrayList<>(Arrays.asList(args));
+        Iterator<String> iter = toProcess.iterator();
+        while (iter.hasNext()) {
+            String arg = iter.next();
+            if (FrameworkOptions.PRINT_OSGI_INFO.getOptString().equals(arg)) {
+                globalOptions.put(FrameworkOptions.PRINT_OSGI_INFO,
+                        Boolean.TRUE.toString());
+                iter.remove();
+            }
+            if (FrameworkOptions.IGNORE_BUNDLE_VERSIONS.getOptString().equals(arg)) {
+                globalOptions.put(FrameworkOptions.IGNORE_BUNDLE_VERSIONS,
+                        Boolean.TRUE.toString());
+                iter.remove();
+            }
+            if (arg.startsWith(FrameworkOptions.BOOT_DELEGATION.getOptString() + "=")) {
+                int startIndex = (FrameworkOptions.BOOT_DELEGATION.getOptString() + "=")
+                        .length();
+                String bootDelegation = arg.substring(startIndex);
+                if ("".equals(bootDelegation)) {
+                    throw new RuntimeException(
+                            "Unexpected string used with boot delegation: '"
+                                    + bootDelegation + "'");
+                }
+                globalOptions.put(FrameworkOptions.BOOT_DELEGATION, bootDelegation);
+                iter.remove();
+            }
+        }
+        return toProcess.toArray(new String[] {});
+    }
+
+    public String[] getOtherOptions() {
+        return otherOptions;
+    }
+
+    public boolean printOsgiInfo() {
+        return globalOptions.containsKey(FrameworkOptions.PRINT_OSGI_INFO);
+    }
+
+    public boolean ignoreBundleVersions() {
+        return globalOptions.containsKey(FrameworkOptions.IGNORE_BUNDLE_VERSIONS);
+    }
+
+    public String bootDelegationValue() {
+        return globalOptions.get(FrameworkOptions.BOOT_DELEGATION);
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main/src/main/java/com/redhat/thermostat/agent/main/internal/FrameworkProvider.java	Tue Oct 03 13:25:56 2017 -0400
@@ -0,0 +1,311 @@
+/*
+ * Copyright 2012-2017 Red Hat, Inc.
+ *
+ * This file is part of Thermostat.
+ *
+ * Thermostat is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2, or (at your
+ * option) any later version.
+ *
+ * Thermostat is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Thermostat; see the file COPYING.  If not see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Linking this code with other modules is making a combined work
+ * based on this code.  Thus, the terms and conditions of the GNU
+ * General Public License cover the whole combination.
+ *
+ * As a special exception, the copyright holders of this code give
+ * you permission to link this code with independent modules to
+ * produce an executable, regardless of the license terms of these
+ * independent modules, and to copy and distribute the resulting
+ * executable under terms of your choice, provided that you also
+ * meet, for each linked independent module, the terms and conditions
+ * of the license of that module.  An independent module is a module
+ * which is not derived from or based on this code.  If you modify
+ * this code, you may extend this exception to your version of the
+ * library, but you are not obligated to do so.  If you do not wish
+ * to do so, delete this exception statement from your version.
+ */
+
+package com.redhat.thermostat.agent.main.internal;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.Method;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.ServiceLoader;
+
+import org.osgi.framework.BundleException;
+import org.osgi.framework.Constants;
+import org.osgi.framework.launch.Framework;
+import org.osgi.framework.launch.FrameworkFactory;
+import org.osgi.util.tracker.ServiceTracker;
+
+import com.redhat.thermostat.launcher.BundleManager;
+import com.redhat.thermostat.launcher.Launcher;
+import com.redhat.thermostat.shared.config.CommonPaths;
+
+public class FrameworkProvider {
+
+    private static final String DEBUG_PREFIX = "FrameworkProvider: ";
+    private static final String PROPS_FILE = "/com/redhat/thermostat/agent/main/internal/bootstrapbundles.properties";
+    private static final String BUNDLELIST = "bundles";
+
+    private final CommonPaths paths;
+    private final FrameworkOptionsProcessor frameworkOptionsProcessor;
+    
+    // The framework cache location; Must not be shared between apps!
+    private Path osgiCacheStorage;
+    
+
+    public FrameworkProvider(CommonPaths paths, FrameworkOptionsProcessor options) {
+        this.paths = paths;
+        this.frameworkOptionsProcessor = options;
+    }
+
+    // This is our ticket into OSGi land. Unfortunately, we to use a bit of reflection here.
+    // The launcher and bundleloader are instantiated from within their bundles, ie loaded
+    // by the bundle classloader.
+    public void start(String[] args) {
+        try {
+            Framework framework = makeFramework();
+            prepareFramework(framework);
+            loadBootstrapBundles(framework);
+            setLoaderVerbosity(framework);
+            setIgnoreBundleVersions(framework);
+            runLauncher(framework, args);
+        } catch (InterruptedException | BundleException | IOException e) {
+            throw new RuntimeException("Could not start framework.", e);
+        }
+    }
+
+    private String getOSGiPublicPackages() throws FileNotFoundException, IOException {
+        File osgiBundleDefinitions = new File(paths.getSystemConfigurationDirectory(), "osgi-export.properties");
+
+        Properties bundles = new Properties();
+        bundles.load(new FileInputStream(osgiBundleDefinitions));
+
+        StringBuilder publicPackages = new StringBuilder();
+        /*
+         * Packages the launcher requires
+         */
+        //publicPackages.append("com.redhat.thermostat.common.services");
+        boolean firstPackage = true;
+        for (Object bundle : bundles.keySet()) {
+            if (!firstPackage) {
+                publicPackages.append(",\n");
+            }
+            firstPackage = false;
+            publicPackages.append(bundle);
+            String bundleVersion = (String) bundles.get(bundle);
+            if (!bundleVersion.isEmpty()) {
+                publicPackages.append("; version=").append(bundleVersion);
+            }
+        }
+
+        return publicPackages.toString();
+    }
+
+    private void prepareFramework(final Framework framework) throws BundleException, IOException {
+        framework.init();
+        framework.start();
+        if (frameworkOptionsProcessor.printOsgiInfo()) {
+            System.out.println(DEBUG_PREFIX + "OSGi framework has started.");
+        }
+
+        Runtime.getRuntime().addShutdownHook(new Thread() {
+            @Override
+            public void run() {
+                try {
+                    framework.stop();
+                    framework.waitForStop(0);
+                    if (frameworkOptionsProcessor.printOsgiInfo()) {
+                        System.out.println(DEBUG_PREFIX + "OSGi framework has shut down.");
+                    }
+                    recursivelyDeleteDirectory(osgiCacheStorage.toFile());
+                    if (frameworkOptionsProcessor.printOsgiInfo()) {
+                        System.out.println(DEBUG_PREFIX + "Removed OSGi cache directory: "
+                                + osgiCacheStorage.toFile().getAbsolutePath());
+                    }
+                } catch (Exception e) {
+                    throw new RuntimeException("Error shutting down framework.", e);
+                }
+            }
+        });
+
+    }
+
+    private void recursivelyDeleteDirectory(File directory) {
+        for (File file: directory.listFiles()) {
+            if (file.isDirectory()) {
+                recursivelyDeleteDirectory(file);
+            }
+            file.delete();
+        }
+        directory.delete();
+    }
+    
+    
+    private Framework makeFramework() throws FileNotFoundException, IOException {
+        File osgiCacheDir = new File(paths.getUserCacheDirectory(), "osgi-cache");
+        if (!osgiCacheDir.isDirectory() && !osgiCacheDir.mkdirs()) {
+            throw new RuntimeException("Unable to create " + osgiCacheDir);
+        }
+
+        // Create temporary directory which will be used as cache for OSGi bundles. See
+        // http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/Constants.html#FRAMEWORK_STORAGE
+        // for details about what this location is used for.
+        // 
+        // Agent, swing gui client application must not use the same location as this tricks the framework
+        // into thinking that some bundles are installed and loaded when that might not actually be the case.
+        // Note that we do not specify the org.osgi.framework.storage.clean property and the default is to NOT
+        // clean the cache, which is when we might run into trouble if this location is shared. This
+        // temp directory will be deleted on VM shutdown.
+        // 
+        // This fixes Thermostat BZ 1110.
+        osgiCacheStorage = Files.createTempDirectory(osgiCacheDir.toPath(), null);
+        if (frameworkOptionsProcessor.printOsgiInfo()) {
+            System.out.println(DEBUG_PREFIX + "OSGi cache location: "
+                    + osgiCacheStorage.toFile().getAbsolutePath());
+        }
+        
+        ServiceLoader<FrameworkFactory> loader = ServiceLoader.load(FrameworkFactory.class,
+                getClass().getClassLoader());
+        Map<String, String> bundleConfigurations = new HashMap<String, String>();
+        String extraPackages = getOSGiPublicPackages();
+        bundleConfigurations.put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA, extraPackages);
+        bundleConfigurations.put(Constants.FRAMEWORK_STORAGE, osgiCacheStorage.toFile().getAbsolutePath());
+        if (frameworkOptionsProcessor.bootDelegationValue() != null) {
+            if (frameworkOptionsProcessor.printOsgiInfo()) {
+                System.out.println("Boot delegation: " + frameworkOptionsProcessor.bootDelegationValue());
+            }
+            bundleConfigurations.put(Constants.FRAMEWORK_BOOTDELEGATION, frameworkOptionsProcessor.bootDelegationValue());
+        }
+        Iterator<FrameworkFactory> factories = loader.iterator();
+        if (factories.hasNext()) {
+            // we just want the first found
+            return factories.next().newFramework(bundleConfigurations);
+        } else {
+            throw new InternalError("ServiceLoader cannot find a FrameworkFactory!");
+        }   
+    }
+
+    private void loadBootstrapBundles(Framework framework) throws BundleException, InterruptedException {
+        Properties bootstrapProps = new Properties();
+        // the properties file should be in the same package as this class
+        InputStream res = getClass().getResourceAsStream(PROPS_FILE);
+        if (res != null) {
+            try {
+                bootstrapProps.load(res);
+            } catch (IOException e) {
+                throw new RuntimeException("Could not load bootstrap bundle properties.", e);
+            }
+        }
+        String[] bundles = bootstrapProps.getProperty(BUNDLELIST).split(",");
+        List<String> locations = new ArrayList<>();
+        for (String bundle : bundles) {
+            String trimmed = bundle.trim();
+            if (trimmed != null && trimmed.length() > 0) {
+                String location = actualLocation(trimmed);
+                locations.add(location);
+            }
+        }
+        BundleManager.preLoadBundles(framework, locations, frameworkOptionsProcessor.printOsgiInfo());
+    }
+
+    private void setLoaderVerbosity(Framework framework) throws InterruptedException {
+        Object loader = getService(framework, BundleManager.class.getName());
+        callVoidReflectedMethod(loader, "setPrintOSGiInfo", frameworkOptionsProcessor.printOsgiInfo());
+    }
+
+    private void setIgnoreBundleVersions(Framework framework) throws InterruptedException {
+        Object loader = getService(framework, BundleManager.class.getName());
+        callVoidReflectedMethod(loader, "setIgnoreBundleVersions", frameworkOptionsProcessor.ignoreBundleVersions());
+    }
+
+    private void runLauncher(Framework framework, String[] args) throws InterruptedException {
+        Object launcher = getService(framework, Launcher.class.getName());
+        callVoidReflectedMethod(launcher, "run", (Object) args);
+    }
+
+    private Object getService(Framework framework, String name) throws InterruptedException {
+        Object service = null;
+        @SuppressWarnings({ "unchecked", "rawtypes" })
+        ServiceTracker tracker = new ServiceTracker(framework.getBundleContext(), name, null);
+        tracker.open();
+        service = tracker.waitForService(0);
+        tracker.close();
+        return service;
+    }
+
+    /**
+     * Call {@code object}.{@code name} with {@code args} as the arguments. The
+     * return value is ignored. The types of the method arguments must exactly
+     * match the types of the supplied arguments, but primitives are used unboxed.
+     */
+    private void callVoidReflectedMethod(Object object, String name, Object... args) {
+        Class<?> clazz = object.getClass();
+        Class<?>[] classes = new Class<?>[args.length];
+        for (int i = 0; i < args.length; i++) {
+            classes[i] = preferPrimitiveClass(args[i].getClass());
+        }
+
+        try {
+            Method m = clazz.getMethod(name, classes);
+            m.invoke(object, args);
+        } catch (ReflectiveOperationException e) {
+            throw new AssertionError("Unable to call '" + name + "' method on object " + object, e);
+        }
+    }
+
+    private static <T> Class<T> preferPrimitiveClass(Class<T> boxedPrimitive) {
+        HashMap<Class<?>, Class<?>> map = new HashMap<>();
+        map.put(Byte.class, byte.class);
+        map.put(Short.class, short.class);
+        map.put(Integer.class, int.class);
+        map.put(Long.class, long.class);
+        map.put(Float.class, float.class);
+        map.put(Double.class, double.class);
+        map.put(Boolean.class, boolean.class);
+        map.put(Character.class, char.class);
+
+        if (map.containsKey(boxedPrimitive)) {
+            return (Class<T>) map.get(boxedPrimitive);
+        } else  {
+            return boxedPrimitive;
+        }
+    }
+
+    // Resolve symlinks completely; This makes the behaviour of this class
+    // consistent with BundleManagerImpl and avoid problems where two different
+    // files across bootstrap and later code provide the same bundle symbolic
+    // name version
+    private String actualLocation(String resourceName) {
+        File file = new File(paths.getSystemLibRoot(), resourceName);
+        try {
+            return file.getCanonicalFile().toURI().toString();
+        } catch (IOException e) {
+            // okay, lets not canonicalize the path
+            return file.toURI().toString();
+        }
+    }
+
+}
+
--- a/main/src/main/java/com/redhat/thermostat/main/Thermostat.java	Fri Sep 29 10:45:11 2017 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
- * Copyright 2012-2017 Red Hat, Inc.
- *
- * This file is part of Thermostat.
- *
- * Thermostat is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation; either version 2, or (at your
- * option) any later version.
- *
- * Thermostat is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Thermostat; see the file COPYING.  If not see
- * <http://www.gnu.org/licenses/>.
- *
- * Linking this code with other modules is making a combined work
- * based on this code.  Thus, the terms and conditions of the GNU
- * General Public License cover the whole combination.
- *
- * As a special exception, the copyright holders of this code give
- * you permission to link this code with independent modules to
- * produce an executable, regardless of the license terms of these
- * independent modules, and to copy and distribute the resulting
- * executable under terms of your choice, provided that you also
- * meet, for each linked independent module, the terms and conditions
- * of the license of that module.  An independent module is a module
- * which is not derived from or based on this code.  If you modify
- * this code, you may extend this exception to your version of the
- * library, but you are not obligated to do so.  If you do not wish
- * to do so, delete this exception statement from your version.
- */
-
-package com.redhat.thermostat.main;
-
-import com.redhat.thermostat.main.internal.FrameworkOptionsProcessor;
-import com.redhat.thermostat.main.internal.FrameworkProvider;
-import com.redhat.thermostat.shared.config.CommonPaths;
-import com.redhat.thermostat.shared.config.internal.CommonPathsImpl;
-
-public class Thermostat {
-
-    /**
-     * @param args the arguments to the program
-     */
-    public static void main(String[] args) {
-        CommonPaths paths = new CommonPathsImpl();
-
-        Thermostat thermostat = new Thermostat();
-        thermostat.start(paths, args);
-    }
-
-    public void start(CommonPaths paths, String[] args) {
-        FrameworkOptionsProcessor frameworkOptions = new FrameworkOptionsProcessor(args);
-
-        FrameworkProvider frameworkProvider = createFrameworkProvider(paths, frameworkOptions);
-        frameworkProvider.start(frameworkOptions.getOtherOptions());
-    }
-
-    /* allow overriding for unit testing */
-    protected FrameworkProvider createFrameworkProvider(CommonPaths paths, FrameworkOptionsProcessor options) {
-        return new FrameworkProvider(paths, options);
-    }
-}
-
--- a/main/src/main/java/com/redhat/thermostat/main/internal/FrameworkOptionsProcessor.java	Fri Sep 29 10:45:11 2017 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
- * Copyright 2012-2017 Red Hat, Inc.
- *
- * This file is part of Thermostat.
- *
- * Thermostat is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation; either version 2, or (at your
- * option) any later version.
- *
- * Thermostat is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Thermostat; see the file COPYING.  If not see
- * <http://www.gnu.org/licenses/>.
- *
- * Linking this code with other modules is making a combined work
- * based on this code.  Thus, the terms and conditions of the GNU
- * General Public License cover the whole combination.
- *
- * As a special exception, the copyright holders of this code give
- * you permission to link this code with independent modules to
- * produce an executable, regardless of the license terms of these
- * independent modules, and to copy and distribute the resulting
- * executable under terms of your choice, provided that you also
- * meet, for each linked independent module, the terms and conditions
- * of the license of that module.  An independent module is a module
- * which is not derived from or based on this code.  If you modify
- * this code, you may extend this exception to your version of the
- * library, but you are not obligated to do so.  If you do not wish
- * to do so, delete this exception statement from your version.
- */
-
-package com.redhat.thermostat.main.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import com.redhat.thermostat.launcher.FrameworkOptions;
-
-/**
- * Thermostat options for the OSGi framework and relevant debug output.
- *
- */
-public class FrameworkOptionsProcessor {
-
-    private final Map<FrameworkOptions, String> globalOptions;
-    private final String[] otherOptions;
-
-    public FrameworkOptionsProcessor(String[] args) {
-        this.globalOptions = new HashMap<>();
-        initializeDefaultGlobalOptions();
-        this.otherOptions = processGlobalOptions(args);
-    }
-
-    private void initializeDefaultGlobalOptions() {
-        // Set up default boot delegation to allow the vm-profiler and
-        // byteman to work correctly by default.
-        globalOptions.put(FrameworkOptions.BOOT_DELEGATION,
-                // vm-profiler
-                "com.redhat.thermostat.vm.profiler.agent.jvm," +
-                "com.redhat.thermostat.vm.profiler.agent.asm," +
-                "com.redhat.thermostat.vm.profiler.agent.asm.commons," +
-                // byteman instrumentation
-                "org.jboss.byteman.rule," +
-                "org.jboss.byteman.rule.exception"
-                );
-    }
-
-    private String[] processGlobalOptions(String[] args) {
-        List<String> toProcess = new ArrayList<>(Arrays.asList(args));
-        Iterator<String> iter = toProcess.iterator();
-        while (iter.hasNext()) {
-            String arg = iter.next();
-            if (FrameworkOptions.PRINT_OSGI_INFO.getOptString().equals(arg)) {
-                globalOptions.put(FrameworkOptions.PRINT_OSGI_INFO,
-                        Boolean.TRUE.toString());
-                iter.remove();
-            }
-            if (FrameworkOptions.IGNORE_BUNDLE_VERSIONS.getOptString().equals(arg)) {
-                globalOptions.put(FrameworkOptions.IGNORE_BUNDLE_VERSIONS,
-                        Boolean.TRUE.toString());
-                iter.remove();
-            }
-            if (arg.startsWith(FrameworkOptions.BOOT_DELEGATION.getOptString() + "=")) {
-                int startIndex = (FrameworkOptions.BOOT_DELEGATION.getOptString() + "=")
-                        .length();
-                String bootDelegation = arg.substring(startIndex);
-                if ("".equals(bootDelegation)) {
-                    throw new RuntimeException(
-                            "Unexpected string used with boot delegation: '"
-                                    + bootDelegation + "'");
-                }
-                globalOptions.put(FrameworkOptions.BOOT_DELEGATION, bootDelegation);
-                iter.remove();
-            }
-        }
-        return toProcess.toArray(new String[] {});
-    }
-
-    public String[] getOtherOptions() {
-        return otherOptions;
-    }
-
-    public boolean printOsgiInfo() {
-        return globalOptions.containsKey(FrameworkOptions.PRINT_OSGI_INFO);
-    }
-
-    public boolean ignoreBundleVersions() {
-        return globalOptions.containsKey(FrameworkOptions.IGNORE_BUNDLE_VERSIONS);
-    }
-
-    public String bootDelegationValue() {
-        return globalOptions.get(FrameworkOptions.BOOT_DELEGATION);
-    }
-
-}
--- a/main/src/main/java/com/redhat/thermostat/main/internal/FrameworkProvider.java	Fri Sep 29 10:45:11 2017 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,311 +0,0 @@
-/*
- * Copyright 2012-2017 Red Hat, Inc.
- *
- * This file is part of Thermostat.
- *
- * Thermostat is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation; either version 2, or (at your
- * option) any later version.
- *
- * Thermostat is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Thermostat; see the file COPYING.  If not see
- * <http://www.gnu.org/licenses/>.
- *
- * Linking this code with other modules is making a combined work
- * based on this code.  Thus, the terms and conditions of the GNU
- * General Public License cover the whole combination.
- *
- * As a special exception, the copyright holders of this code give
- * you permission to link this code with independent modules to
- * produce an executable, regardless of the license terms of these
- * independent modules, and to copy and distribute the resulting
- * executable under terms of your choice, provided that you also
- * meet, for each linked independent module, the terms and conditions
- * of the license of that module.  An independent module is a module
- * which is not derived from or based on this code.  If you modify
- * this code, you may extend this exception to your version of the
- * library, but you are not obligated to do so.  If you do not wish
- * to do so, delete this exception statement from your version.
- */
-
-package com.redhat.thermostat.main.internal;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.Method;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.ServiceLoader;
-
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-import org.osgi.framework.launch.Framework;
-import org.osgi.framework.launch.FrameworkFactory;
-import org.osgi.util.tracker.ServiceTracker;
-
-import com.redhat.thermostat.launcher.BundleManager;
-import com.redhat.thermostat.launcher.Launcher;
-import com.redhat.thermostat.shared.config.CommonPaths;
-
-public class FrameworkProvider {
-
-    private static final String DEBUG_PREFIX = "FrameworkProvider: ";
-    private static final String PROPS_FILE = "/com/redhat/thermostat/main/internal/bootstrapbundles.properties";
-    private static final String BUNDLELIST = "bundles";
-
-    private final CommonPaths paths;
-    private final FrameworkOptionsProcessor frameworkOptionsProcessor;
-    
-    // The framework cache location; Must not be shared between apps!
-    private Path osgiCacheStorage;
-    
-
-    public FrameworkProvider(CommonPaths paths, FrameworkOptionsProcessor options) {
-        this.paths = paths;
-        this.frameworkOptionsProcessor = options;
-    }
-
-    // This is our ticket into OSGi land. Unfortunately, we to use a bit of reflection here.
-    // The launcher and bundleloader are instantiated from within their bundles, ie loaded
-    // by the bundle classloader.
-    public void start(String[] args) {
-        try {
-            Framework framework = makeFramework();
-            prepareFramework(framework);
-            loadBootstrapBundles(framework);
-            setLoaderVerbosity(framework);
-            setIgnoreBundleVersions(framework);
-            runLauncher(framework, args);
-        } catch (InterruptedException | BundleException | IOException e) {
-            throw new RuntimeException("Could not start framework.", e);
-        }
-    }
-
-    private String getOSGiPublicPackages() throws FileNotFoundException, IOException {
-        File osgiBundleDefinitions = new File(paths.getSystemConfigurationDirectory(), "osgi-export.properties");
-
-        Properties bundles = new Properties();
-        bundles.load(new FileInputStream(osgiBundleDefinitions));
-
-        StringBuilder publicPackages = new StringBuilder();
-        /*
-         * Packages the launcher requires
-         */
-        //publicPackages.append("com.redhat.thermostat.common.services");
-        boolean firstPackage = true;
-        for (Object bundle : bundles.keySet()) {
-            if (!firstPackage) {
-                publicPackages.append(",\n");
-            }
-            firstPackage = false;
-            publicPackages.append(bundle);
-            String bundleVersion = (String) bundles.get(bundle);
-            if (!bundleVersion.isEmpty()) {
-                publicPackages.append("; version=").append(bundleVersion);
-            }
-        }
-
-        return publicPackages.toString();
-    }
-
-    private void prepareFramework(final Framework framework) throws BundleException, IOException {
-        framework.init();
-        framework.start();
-        if (frameworkOptionsProcessor.printOsgiInfo()) {
-            System.out.println(DEBUG_PREFIX + "OSGi framework has started.");
-        }
-
-        Runtime.getRuntime().addShutdownHook(new Thread() {
-            @Override
-            public void run() {
-                try {
-                    framework.stop();
-                    framework.waitForStop(0);
-                    if (frameworkOptionsProcessor.printOsgiInfo()) {
-                        System.out.println(DEBUG_PREFIX + "OSGi framework has shut down.");
-                    }
-                    recursivelyDeleteDirectory(osgiCacheStorage.toFile());
-                    if (frameworkOptionsProcessor.printOsgiInfo()) {
-                        System.out.println(DEBUG_PREFIX + "Removed OSGi cache directory: "
-                                + osgiCacheStorage.toFile().getAbsolutePath());
-                    }
-                } catch (Exception e) {
-                    throw new RuntimeException("Error shutting down framework.", e);
-                }
-            }
-        });
-
-    }
-
-    private void recursivelyDeleteDirectory(File directory) {
-        for (File file: directory.listFiles()) {
-            if (file.isDirectory()) {
-                recursivelyDeleteDirectory(file);
-            }
-            file.delete();
-        }
-        directory.delete();
-    }
-    
-    
-    private Framework makeFramework() throws FileNotFoundException, IOException {
-        File osgiCacheDir = new File(paths.getUserCacheDirectory(), "osgi-cache");
-        if (!osgiCacheDir.isDirectory() && !osgiCacheDir.mkdirs()) {
-            throw new RuntimeException("Unable to create " + osgiCacheDir);
-        }
-
-        // Create temporary directory which will be used as cache for OSGi bundles. See
-        // http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/Constants.html#FRAMEWORK_STORAGE
-        // for details about what this location is used for.
-        // 
-        // Agent, swing gui client application must not use the same location as this tricks the framework
-        // into thinking that some bundles are installed and loaded when that might not actually be the case.
-        // Note that we do not specify the org.osgi.framework.storage.clean property and the default is to NOT
-        // clean the cache, which is when we might run into trouble if this location is shared. This
-        // temp directory will be deleted on VM shutdown.
-        // 
-        // This fixes Thermostat BZ 1110.
-        osgiCacheStorage = Files.createTempDirectory(osgiCacheDir.toPath(), null);
-        if (frameworkOptionsProcessor.printOsgiInfo()) {
-            System.out.println(DEBUG_PREFIX + "OSGi cache location: "
-                    + osgiCacheStorage.toFile().getAbsolutePath());
-        }
-        
-        ServiceLoader<FrameworkFactory> loader = ServiceLoader.load(FrameworkFactory.class,
-                getClass().getClassLoader());
-        Map<String, String> bundleConfigurations = new HashMap<String, String>();
-        String extraPackages = getOSGiPublicPackages();
-        bundleConfigurations.put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA, extraPackages);
-        bundleConfigurations.put(Constants.FRAMEWORK_STORAGE, osgiCacheStorage.toFile().getAbsolutePath());
-        if (frameworkOptionsProcessor.bootDelegationValue() != null) {
-            if (frameworkOptionsProcessor.printOsgiInfo()) {
-                System.out.println("Boot delegation: " + frameworkOptionsProcessor.bootDelegationValue());
-            }
-            bundleConfigurations.put(Constants.FRAMEWORK_BOOTDELEGATION, frameworkOptionsProcessor.bootDelegationValue());
-        }
-        Iterator<FrameworkFactory> factories = loader.iterator();
-        if (factories.hasNext()) {
-            // we just want the first found
-            return factories.next().newFramework(bundleConfigurations);
-        } else {
-            throw new InternalError("ServiceLoader cannot find a FrameworkFactory!");
-        }   
-    }
-
-    private void loadBootstrapBundles(Framework framework) throws BundleException, InterruptedException {
-        Properties bootstrapProps = new Properties();
-        // the properties file should be in the same package as this class
-        InputStream res = getClass().getResourceAsStream(PROPS_FILE);
-        if (res != null) {
-            try {
-                bootstrapProps.load(res);
-            } catch (IOException e) {
-                throw new RuntimeException("Could not load bootstrap bundle properties.", e);
-            }
-        }
-        String[] bundles = bootstrapProps.getProperty(BUNDLELIST).split(",");
-        List<String> locations = new ArrayList<>();
-        for (String bundle : bundles) {
-            String trimmed = bundle.trim();
-            if (trimmed != null && trimmed.length() > 0) {
-                String location = actualLocation(trimmed);
-                locations.add(location);
-            }
-        }
-        BundleManager.preLoadBundles(framework, locations, frameworkOptionsProcessor.printOsgiInfo());
-    }
-
-    private void setLoaderVerbosity(Framework framework) throws InterruptedException {
-        Object loader = getService(framework, BundleManager.class.getName());
-        callVoidReflectedMethod(loader, "setPrintOSGiInfo", frameworkOptionsProcessor.printOsgiInfo());
-    }
-
-    private void setIgnoreBundleVersions(Framework framework) throws InterruptedException {
-        Object loader = getService(framework, BundleManager.class.getName());
-        callVoidReflectedMethod(loader, "setIgnoreBundleVersions", frameworkOptionsProcessor.ignoreBundleVersions());
-    }
-
-    private void runLauncher(Framework framework, String[] args) throws InterruptedException {
-        Object launcher = getService(framework, Launcher.class.getName());
-        callVoidReflectedMethod(launcher, "run", (Object) args);
-    }
-
-    private Object getService(Framework framework, String name) throws InterruptedException {
-        Object service = null;
-        @SuppressWarnings({ "unchecked", "rawtypes" })
-        ServiceTracker tracker = new ServiceTracker(framework.getBundleContext(), name, null);
-        tracker.open();
-        service = tracker.waitForService(0);
-        tracker.close();
-        return service;
-    }
-
-    /**
-     * Call {@code object}.{@code name} with {@code args} as the arguments. The
-     * return value is ignored. The types of the method arguments must exactly
-     * match the types of the supplied arguments, but primitives are used unboxed.
-     */
-    private void callVoidReflectedMethod(Object object, String name, Object... args) {
-        Class<?> clazz = object.getClass();
-        Class<?>[] classes = new Class<?>[args.length];
-        for (int i = 0; i < args.length; i++) {
-            classes[i] = preferPrimitiveClass(args[i].getClass());
-        }
-
-        try {
-            Method m = clazz.getMethod(name, classes);
-            m.invoke(object, args);
-        } catch (ReflectiveOperationException e) {
-            throw new AssertionError("Unable to call '" + name + "' method on object " + object, e);
-        }
-    }
-
-    private static <T> Class<T> preferPrimitiveClass(Class<T> boxedPrimitive) {
-        HashMap<Class<?>, Class<?>> map = new HashMap<>();
-        map.put(Byte.class, byte.class);
-        map.put(Short.class, short.class);
-        map.put(Integer.class, int.class);
-        map.put(Long.class, long.class);
-        map.put(Float.class, float.class);
-        map.put(Double.class, double.class);
-        map.put(Boolean.class, boolean.class);
-        map.put(Character.class, char.class);
-
-        if (map.containsKey(boxedPrimitive)) {
-            return (Class<T>) map.get(boxedPrimitive);
-        } else  {
-            return boxedPrimitive;
-        }
-    }
-
-    // Resolve symlinks completely; This makes the behaviour of this class
-    // consistent with BundleManagerImpl and avoid problems where two different
-    // files across bootstrap and later code provide the same bundle symbolic
-    // name version
-    private String actualLocation(String resourceName) {
-        File file = new File(paths.getSystemLibRoot(), resourceName);
-        try {
-            return file.getCanonicalFile().toURI().toString();
-        } catch (IOException e) {
-            // okay, lets not canonicalize the path
-            return file.toURI().toString();
-        }
-    }
-
-}
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main/src/main/resources/com/redhat/thermostat/agent/main/internal/bootstrapbundles.properties	Tue Oct 03 13:25:56 2017 -0400
@@ -0,0 +1,15 @@
+bundles=thermostat-shared-config-@project.version@.jar, \
+        thermostat-storage-core-@project.version@.jar, \
+        thermostat-common-core-@project.version@.jar, \
+        thermostat-plugin-validator-@project.version@.jar, \
+        thermostat-launcher-@project.version@.jar, \
+        thermostat-common-@thermostat.common.version@.jar, \
+        commons-cli-@commons-cli.version@.jar, \
+        org.apache.felix.scr-@felix.scr.version@.jar, \
+        gson-@gson.version@.jar, \
+        jetty-client-@jetty.version@.jar, \
+        jetty-http-@jetty.version@.jar, \
+        jetty-io-@jetty.version@.jar, \
+        jetty-util-@jetty.version@.jar, \
+        javax.servlet-api-@jetty.javax.servlet.osgi.version@.jar
+# FIXME Remove gson and everything below once DAOs moved out of storage-core
--- a/main/src/main/resources/com/redhat/thermostat/main/internal/bootstrapbundles.properties	Fri Sep 29 10:45:11 2017 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-bundles=thermostat-shared-config-@project.version@.jar, \
-        thermostat-storage-core-@project.version@.jar, \
-        thermostat-common-core-@project.version@.jar, \
-        thermostat-plugin-validator-@project.version@.jar, \
-        thermostat-launcher-@project.version@.jar, \
-        thermostat-common-@thermostat.common.version@.jar, \
-        commons-cli-@commons-cli.version@.jar, \
-        org.apache.felix.scr-@felix.scr.version@.jar, \
-        gson-@gson.version@.jar, \
-        jetty-client-@jetty.version@.jar, \
-        jetty-http-@jetty.version@.jar, \
-        jetty-io-@jetty.version@.jar, \
-        jetty-util-@jetty.version@.jar, \
-        javax.servlet-api-@jetty.javax.servlet.osgi.version@.jar
-# FIXME Remove gson and everything below once DAOs moved out of storage-core
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main/src/test/java/com/redhat/thermostat/agent/main/ThermostatAgentTest.java	Tue Oct 03 13:25:56 2017 -0400
@@ -0,0 +1,146 @@
+/*
+ * Copyright 2012-2017 Red Hat, Inc.
+ *
+ * This file is part of Thermostat.
+ *
+ * Thermostat is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2, or (at your
+ * option) any later version.
+ *
+ * Thermostat is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Thermostat; see the file COPYING.  If not see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Linking this code with other modules is making a combined work
+ * based on this code.  Thus, the terms and conditions of the GNU
+ * General Public License cover the whole combination.
+ *
+ * As a special exception, the copyright holders of this code give
+ * you permission to link this code with independent modules to
+ * produce an executable, regardless of the license terms of these
+ * independent modules, and to copy and distribute the resulting
+ * executable under terms of your choice, provided that you also
+ * meet, for each linked independent module, the terms and conditions
+ * of the license of that module.  An independent module is a module
+ * which is not derived from or based on this code.  If you modify
+ * this code, you may extend this exception to your version of the
+ * library, but you are not obligated to do so.  If you do not wish
+ * to do so, delete this exception statement from your version.
+ */
+
+package com.redhat.thermostat.agent.main;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.doCallRealMethod;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import com.redhat.thermostat.agent.main.internal.FrameworkOptionsProcessor;
+import com.redhat.thermostat.agent.main.internal.FrameworkProvider;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+
+import com.redhat.thermostat.shared.config.CommonPaths;
+
+public class ThermostatAgentTest {
+
+    private FrameworkProvider provider;
+    private CommonPaths paths;
+    private ArgumentCaptor<FrameworkOptionsProcessor> optsCaptor;
+    private ThermostatAgent thermostat;
+
+    @Before
+    public void setUp() {
+        provider = mock(FrameworkProvider.class);
+        paths = mock(CommonPaths.class);
+        
+
+        optsCaptor = ArgumentCaptor.forClass(FrameworkOptionsProcessor.class);
+
+        thermostat = mock(ThermostatAgent.class);
+
+        when(thermostat
+                .createFrameworkProvider(eq(paths),
+                        optsCaptor.capture()))
+                .thenReturn(provider);
+        doCallRealMethod().when(thermostat).start(eq(paths), any(String[].class));
+    }
+
+    @Test
+    public void verifyNoArgDoesNotPrintOsgiInfo() {
+        String[] args = {};
+        thermostat.start(paths, args);
+
+        verify(provider).start(eq(new String[]{}));
+        FrameworkOptionsProcessor opts = optsCaptor.getValue();
+        assertEquals(false, opts.printOsgiInfo());
+    }
+
+    @Test
+    public void verifyArgPrintsOsgiInfo() {
+        String[] args = {"--print-osgi-info"};
+        thermostat.start(paths, args);
+
+        verify(provider).start(eq(new String[]{}));
+        FrameworkOptionsProcessor opts = optsCaptor.getValue();
+        assertEquals(true, opts.printOsgiInfo());
+    }
+
+    @Test
+    public void verifyNoArgDoesNotIgnoreOsgiVersions() {
+        String[] args = {};
+        thermostat.start(paths, args);
+
+        verify(provider).start(eq(new String[]{}));
+        FrameworkOptionsProcessor opts = optsCaptor.getValue();
+        assertEquals(false, opts.ignoreBundleVersions());
+    }
+
+    @Test
+    public void verifyArgIgnoresBundleVersions() {
+        String[] args = {"--ignore-bundle-versions"};
+        thermostat.start(paths, args);
+
+        verify(provider).start(eq(new String[]{}));
+        FrameworkOptionsProcessor opts = optsCaptor.getValue();
+        assertEquals(true, opts.ignoreBundleVersions());
+    }
+
+    @Test
+    public void verifyBootDelegationIsPassedAlong() {
+        String[] args = {"--boot-delegation=foo"};
+        thermostat.start(paths, args);
+
+        verify(provider).start(eq(new String[]{}));
+        FrameworkOptionsProcessor opts = optsCaptor.getValue();
+        assertEquals("foo", opts.bootDelegationValue());
+    }
+
+    @Test(expected=RuntimeException.class)
+    public void verifyBootDelegationFailsForIllegalValue() {
+        String[] args = {"--boot-delegation="};
+        // This throws runtime exception due to empty boot delegation
+        // string.
+        thermostat.start(paths, args);
+    }
+
+    @Test
+    public void verifyUnrecognizedArgsArePassedAlong() {
+        String[] args = {"--new-super-arg", "unknown"};
+        thermostat.start(paths, args);
+
+        verify(provider).start(eq(args));
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main/src/test/java/com/redhat/thermostat/agent/main/internal/FrameworkOptionsProcessorTest.java	Tue Oct 03 13:25:56 2017 -0400
@@ -0,0 +1,94 @@
+/*
+ * Copyright 2012-2017 Red Hat, Inc.
+ *
+ * This file is part of Thermostat.
+ *
+ * Thermostat is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2, or (at your
+ * option) any later version.
+ *
+ * Thermostat is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Thermostat; see the file COPYING.  If not see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Linking this code with other modules is making a combined work
+ * based on this code.  Thus, the terms and conditions of the GNU
+ * General Public License cover the whole combination.
+ *
+ * As a special exception, the copyright holders of this code give
+ * you permission to link this code with independent modules to
+ * produce an executable, regardless of the license terms of these
+ * independent modules, and to copy and distribute the resulting
+ * executable under terms of your choice, provided that you also
+ * meet, for each linked independent module, the terms and conditions
+ * of the license of that module.  An independent module is a module
+ * which is not derived from or based on this code.  If you modify
+ * this code, you may extend this exception to your version of the
+ * library, but you are not obligated to do so.  If you do not wish
+ * to do so, delete this exception statement from your version.
+ */
+
+package com.redhat.thermostat.agent.main.internal;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Arrays;
+
+import org.junit.Test;
+
+public class FrameworkOptionsProcessorTest {
+
+    @Test
+    public void verifyDefaults() {
+        String[] args = new String[] { "help" };
+        FrameworkOptionsProcessor opts = new FrameworkOptionsProcessor(args);
+        assertFalse(opts.printOsgiInfo());
+        assertFalse(opts.ignoreBundleVersions());
+        assertTrue(opts.bootDelegationValue().contains("com.redhat.thermostat.vm.profiler"));
+        assertEquals(Arrays.asList("help"), Arrays.asList(opts.getOtherOptions()));
+    }
+
+    @Test
+    public void canGetPrintOsgiInfo() {
+        String[] args = new String[] { "--print-osgi-info", "help" };
+        FrameworkOptionsProcessor opts = new FrameworkOptionsProcessor(args);
+        assertTrue(opts.printOsgiInfo());
+        assertEquals(Arrays.asList("help"),
+                Arrays.asList(opts.getOtherOptions()));
+    }
+
+    @Test
+    public void canGetBootDelegation() {
+        String[] args = new String[] { "--boot-delegation=foo", "help" };
+        FrameworkOptionsProcessor opts = new FrameworkOptionsProcessor(args);
+        assertEquals("foo", opts.bootDelegationValue());
+        assertEquals(Arrays.asList("help"),
+                Arrays.asList(opts.getOtherOptions()));
+    }
+
+    @Test
+    public void canGetIgnoreBundleVersion() {
+        String[] args = new String[] { "--ignore-bundle-versions", "help" };
+        FrameworkOptionsProcessor opts = new FrameworkOptionsProcessor(args);
+        assertTrue(opts.ignoreBundleVersions());
+        assertEquals(Arrays.asList("help"),
+                Arrays.asList(opts.getOtherOptions()));
+    }
+
+    @Test(expected = RuntimeException.class)
+    public void emtpyStringForBootDelegationThrowsException() {
+        String[] args = new String[] { "--boot-delegation=", "help" };
+        // This is expected to fail since the boot delegation value is an empty
+        // string.
+        new FrameworkOptionsProcessor(args);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main/src/test/java/com/redhat/thermostat/agent/main/internal/FrameworkProviderTest.java	Tue Oct 03 13:25:56 2017 -0400
@@ -0,0 +1,270 @@
+/*
+ * Copyright 2012-2017 Red Hat, Inc.
+ *
+ * This file is part of Thermostat.
+ *
+ * Thermostat is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2, or (at your
+ * option) any later version.
+ *
+ * Thermostat is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Thermostat; see the file COPYING.  If not see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Linking this code with other modules is making a combined work
+ * based on this code.  Thus, the terms and conditions of the GNU
+ * General Public License cover the whole combination.
+ *
+ * As a special exception, the copyright holders of this code give
+ * you permission to link this code with independent modules to
+ * produce an executable, regardless of the license terms of these
+ * independent modules, and to copy and distribute the resulting
+ * executable under terms of your choice, provided that you also
+ * meet, for each linked independent module, the terms and conditions
+ * of the license of that module.  An independent module is a module
+ * which is not derived from or based on this code.  If you modify
+ * this code, you may extend this exception to your version of the
+ * library, but you are not obligated to do so.  If you do not wish
+ * to do so, delete this exception statement from your version.
+ */
+
+package com.redhat.thermostat.agent.main.internal;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.Constants;
+import org.osgi.framework.launch.Framework;
+import org.osgi.util.tracker.ServiceTracker;
+import org.osgi.util.tracker.ServiceTrackerCustomizer;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+import com.redhat.thermostat.launcher.BundleInformation;
+import com.redhat.thermostat.launcher.BundleManager;
+import com.redhat.thermostat.launcher.Launcher;
+import com.redhat.thermostat.shared.config.CommonPaths;
+import com.redhat.thermostat.shared.config.internal.CommonPathsImpl;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({FrameworkProvider.class})
+public class FrameworkProviderTest {
+
+    private static final String THERMOSTAT_HOME_PROPERTY = "THERMOSTAT_HOME";
+    private static final String USER_THERMOSTAT_HOME_PROPERTY = "USER_THERMOSTAT_HOME";
+
+    private BundleContext mockContext;
+
+    private Framework framework;
+
+    private FakeBundleManager bundleManager;
+    private Launcher launcher;
+    private CommonPaths paths;
+    private String savedHome, savedUserHome;
+
+    static class FakeBundleManager extends BundleManager /* extends BundleManagerImpl */ {
+
+        private boolean printOSGiInfo;
+        private boolean ignoreBundleVersion;
+
+        @Override
+        public void loadBundlesByName(List<BundleInformation> bundles) throws BundleException, IOException {
+            // do nothing
+        }
+
+        @Override
+        public CommonPaths getCommonPaths() {
+            return null;
+        }
+
+        // @Override
+        public void setPrintOSGiInfo(boolean print) {
+            this.printOSGiInfo = print;
+        }
+
+        // @Override
+        public void setIgnoreBundleVersions(boolean ignore) {
+            this.ignoreBundleVersion = ignore;
+        }
+
+    }
+
+    @SuppressWarnings("rawtypes")
+    @Before
+    public void setUp() throws Exception {
+        Path tempDir;
+        tempDir = Files.createTempDirectory("FrameworkProviderTest");
+        tempDir.toFile().deleteOnExit();
+        savedHome = System.setProperty(THERMOSTAT_HOME_PROPERTY, tempDir.toString());
+        savedUserHome = System.setProperty(USER_THERMOSTAT_HOME_PROPERTY, tempDir.toString());
+        paths = new CommonPathsImpl();
+
+        File tempEtc = new File(tempDir.toFile(), "etc");
+        tempEtc.mkdirs();
+        tempEtc.deleteOnExit();
+
+        File tempProps = new File(tempEtc, "osgi-export.properties");
+        tempProps.createNewFile();
+        tempProps.deleteOnExit();
+
+        File tempBundleProps = new File(tempEtc, "bundles.properties");
+        tempBundleProps.createNewFile();
+        tempBundleProps.deleteOnExit();
+
+        File tempLibs = new File(tempDir.toFile(), "libs");
+        tempLibs.mkdirs();
+        tempLibs.deleteOnExit();
+
+        mockContext = mock(BundleContext.class);
+
+        framework = mock(Framework.class);
+        TestFrameworkFactory.setFramework(framework);
+        when(framework.getBundleContext()).thenReturn(mockContext);
+
+        Bundle mockBundle = mock(Bundle.class);
+        when(mockContext.installBundle(any(String.class))).thenReturn(mockBundle);
+        when(mockBundle.getHeaders()).thenReturn(new Hashtable<String, String>());
+        ServiceTracker registryTracker = mock(ServiceTracker.class);
+        PowerMockito
+                .whenNew(ServiceTracker.class)
+                .withParameterTypes(BundleContext.class, String.class,
+                        ServiceTrackerCustomizer.class)
+                .withArguments(any(BundleContext.class),
+                        eq(BundleManager.class.getName()), any(ServiceTrackerCustomizer.class))
+                .thenReturn(registryTracker);
+        bundleManager = new FakeBundleManager();
+        when(registryTracker.waitForService(0)).thenReturn(bundleManager);
+        ServiceTracker launcherTracker = mock(ServiceTracker.class);
+        launcher = mock(Launcher.class);
+        PowerMockito
+                .whenNew(ServiceTracker.class)
+                .withParameterTypes(BundleContext.class, String.class,
+                        ServiceTrackerCustomizer.class)
+                .withArguments(any(BundleContext.class),
+                        eq(Launcher.class.getName()),
+                        any(ServiceTrackerCustomizer.class))
+                .thenReturn(launcherTracker);
+        when(launcherTracker.waitForService(0))
+                .thenReturn(launcher);
+
+        Path osgiDir;
+
+        osgiDir = tempDir.resolve("osgi-cache");
+        osgiDir.toFile().mkdirs();
+        osgiDir.toFile().deleteOnExit();
+        assertTrue(osgiDir.toFile().exists());
+    }
+
+    @After
+    public void clearSystemProperties() {
+        if (savedHome == null) {
+            System.clearProperty(THERMOSTAT_HOME_PROPERTY);
+        } else {
+            System.setProperty(THERMOSTAT_HOME_PROPERTY, savedHome);
+            savedHome = null;
+        }
+        if (savedUserHome == null) {
+            System.clearProperty(USER_THERMOSTAT_HOME_PROPERTY);
+        } else {
+            System.setProperty(USER_THERMOSTAT_HOME_PROPERTY, savedUserHome);
+            savedUserHome = null;
+        }
+        paths = null;
+    }
+
+    @Test
+    public void testStartRunsOSGiFramework() throws Exception {
+        FrameworkOptionsProcessor opts = new FrameworkOptionsProcessor(new String[] {});
+        FrameworkProvider provider = new FrameworkProvider(paths, opts);
+
+        provider.start(new String[] {});
+
+        verify(framework).init();
+        verify(framework).start();
+    }
+
+    @Test
+    public void testStartRunsLauncher() throws Exception {
+        FrameworkOptionsProcessor opts = new FrameworkOptionsProcessor(new String[] {});
+        FrameworkProvider provider = new FrameworkProvider(paths, opts);
+
+        provider.start(new String[] {});
+
+        verify(launcher).run(new String[] {});
+    }
+
+    @Test
+    public void testPrintOSGiInfoParameterIsPassedToBundleManager() {
+        FrameworkOptionsProcessor opts = mock(FrameworkOptionsProcessor.class);
+        when(opts.printOsgiInfo()).thenReturn(true);
+        FrameworkProvider provider = new FrameworkProvider(paths, opts);
+
+        provider.start(new String[] {});
+
+        assertEquals(true, bundleManager.printOSGiInfo);
+    }
+
+    @Test
+    public void testIgnoreBundleVersionsParameterIsPassedToBundleManager() {
+        FrameworkOptionsProcessor opts = mock(FrameworkOptionsProcessor.class);
+        when(opts.ignoreBundleVersions()).thenReturn(true);
+        FrameworkProvider provider = new FrameworkProvider(paths, opts);
+
+        provider.start(new String[] {});
+
+        assertEquals(true, bundleManager.ignoreBundleVersion);
+    }
+
+    @Test
+    public void testNullBootDelegationIsNotSetInConfiguration() {
+        FrameworkOptionsProcessor opts = mock(FrameworkOptionsProcessor.class);
+        when(opts.bootDelegationValue()).thenReturn(null);
+        FrameworkProvider provider = new FrameworkProvider(paths, opts);
+
+        provider.start(new String[] {});
+
+        Map<String, String> config = TestFrameworkFactory.getConfig();
+        assertFalse(config.containsKey(Constants.FRAMEWORK_BOOTDELEGATION));
+    }
+
+    @Test
+    public void testPackagesListedInBootDelegationArePassedToFramework() {
+        FrameworkOptionsProcessor opts = mock(FrameworkOptionsProcessor.class);
+        when(opts.bootDelegationValue()).thenReturn("foo");
+        FrameworkProvider provider = new FrameworkProvider(paths, opts);
+
+        provider.start(new String[] {});
+
+        Map<String, String> config = TestFrameworkFactory.getConfig();
+        assertEquals("foo", config.get(Constants.FRAMEWORK_BOOTDELEGATION));
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main/src/test/java/com/redhat/thermostat/agent/main/internal/TestFrameworkFactory.java	Tue Oct 03 13:25:56 2017 -0400
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2012-2017 Red Hat, Inc.
+ *
+ * This file is part of Thermostat.
+ *
+ * Thermostat is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2, or (at your
+ * option) any later version.
+ *
+ * Thermostat is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Thermostat; see the file COPYING.  If not see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Linking this code with other modules is making a combined work
+ * based on this code.  Thus, the terms and conditions of the GNU
+ * General Public License cover the whole combination.
+ *
+ * As a special exception, the copyright holders of this code give
+ * you permission to link this code with independent modules to
+ * produce an executable, regardless of the license terms of these
+ * independent modules, and to copy and distribute the resulting
+ * executable under terms of your choice, provided that you also
+ * meet, for each linked independent module, the terms and conditions
+ * of the license of that module.  An independent module is a module
+ * which is not derived from or based on this code.  If you modify
+ * this code, you may extend this exception to your version of the
+ * library, but you are not obligated to do so.  If you do not wish
+ * to do so, delete this exception statement from your version.
+ */
+
+package com.redhat.thermostat.agent.main.internal;
+
+import java.util.Map;
+
+import org.osgi.framework.launch.Framework;
+import org.osgi.framework.launch.FrameworkFactory;
+
+/** Registered using ServiceLoader */
+public class TestFrameworkFactory implements FrameworkFactory {
+
+    private static Framework framework;
+    private static Map<String, String> config;
+
+    public static void setFramework(Framework framework) {
+        TestFrameworkFactory.framework = framework;
+    }
+
+    public static Map<String,String> getConfig() {
+        return config;
+    }
+
+    // NOTE: For some unknown reason, this doesn't compile when declared
+    // as newFramework(Map<String,String> config). At least not in Maven.
+    @SuppressWarnings({ "unchecked", "rawtypes" })
+    @Override
+    public Framework newFramework(Map config) {
+        TestFrameworkFactory.config = config;
+        return framework;
+    }
+
+}
+
--- a/main/src/test/java/com/redhat/thermostat/main/ThermostatTest.java	Fri Sep 29 10:45:11 2017 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-/*
- * Copyright 2012-2017 Red Hat, Inc.
- *
- * This file is part of Thermostat.
- *
- * Thermostat is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation; either version 2, or (at your
- * option) any later version.
- *
- * Thermostat is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Thermostat; see the file COPYING.  If not see
- * <http://www.gnu.org/licenses/>.
- *
- * Linking this code with other modules is making a combined work
- * based on this code.  Thus, the terms and conditions of the GNU
- * General Public License cover the whole combination.
- *
- * As a special exception, the copyright holders of this code give
- * you permission to link this code with independent modules to
- * produce an executable, regardless of the license terms of these
- * independent modules, and to copy and distribute the resulting
- * executable under terms of your choice, provided that you also
- * meet, for each linked independent module, the terms and conditions
- * of the license of that module.  An independent module is a module
- * which is not derived from or based on this code.  If you modify
- * this code, you may extend this exception to your version of the
- * library, but you are not obligated to do so.  If you do not wish
- * to do so, delete this exception statement from your version.
- */
-
-package com.redhat.thermostat.main;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.doCallRealMethod;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.ArgumentCaptor;
-
-import com.redhat.thermostat.main.internal.FrameworkOptionsProcessor;
-import com.redhat.thermostat.main.internal.FrameworkProvider;
-import com.redhat.thermostat.shared.config.CommonPaths;
-
-public class ThermostatTest {
-
-    private FrameworkProvider provider;
-    private CommonPaths paths;
-    private ArgumentCaptor<FrameworkOptionsProcessor> optsCaptor;
-    private Thermostat thermostat;
-
-    @Before
-    public void setUp() {
-        provider = mock(FrameworkProvider.class);
-        paths = mock(CommonPaths.class);
-        
-
-        optsCaptor = ArgumentCaptor.forClass(FrameworkOptionsProcessor.class);
-
-        thermostat = mock(Thermostat.class);
-
-        when(thermostat
-                .createFrameworkProvider(eq(paths),
-                        optsCaptor.capture()))
-                .thenReturn(provider);
-        doCallRealMethod().when(thermostat).start(eq(paths), any(String[].class));
-    }
-
-    @Test
-    public void verifyNoArgDoesNotPrintOsgiInfo() {
-        String[] args = {};
-        thermostat.start(paths, args);
-
-        verify(provider).start(eq(new String[]{}));
-        FrameworkOptionsProcessor opts = optsCaptor.getValue();
-        assertEquals(false, opts.printOsgiInfo());
-    }
-
-    @Test
-    public void verifyArgPrintsOsgiInfo() {
-        String[] args = {"--print-osgi-info"};
-        thermostat.start(paths, args);
-
-        verify(provider).start(eq(new String[]{}));
-        FrameworkOptionsProcessor opts = optsCaptor.getValue();
-        assertEquals(true, opts.printOsgiInfo());
-    }
-
-    @Test
-    public void verifyNoArgDoesNotIgnoreOsgiVersions() {
-        String[] args = {};
-        thermostat.start(paths, args);
-
-        verify(provider).start(eq(new String[]{}));
-        FrameworkOptionsProcessor opts = optsCaptor.getValue();
-        assertEquals(false, opts.ignoreBundleVersions());
-    }
-
-    @Test
-    public void verifyArgIgnoresBundleVersions() {
-        String[] args = {"--ignore-bundle-versions"};
-        thermostat.start(paths, args);
-
-        verify(provider).start(eq(new String[]{}));
-        FrameworkOptionsProcessor opts = optsCaptor.getValue();
-        assertEquals(true, opts.ignoreBundleVersions());
-    }
-
-    @Test
-    public void verifyBootDelegationIsPassedAlong() {
-        String[] args = {"--boot-delegation=foo"};
-        thermostat.start(paths, args);
-
-        verify(provider).start(eq(new String[]{}));
-        FrameworkOptionsProcessor opts = optsCaptor.getValue();
-        assertEquals("foo", opts.bootDelegationValue());
-    }
-
-    @Test(expected=RuntimeException.class)
-    public void verifyBootDelegationFailsForIllegalValue() {
-        String[] args = {"--boot-delegation="};
-        // This throws runtime exception due to empty boot delegation
-        // string.
-        thermostat.start(paths, args);
-    }
-
-    @Test
-    public void verifyUnrecognizedArgsArePassedAlong() {
-        String[] args = {"--new-super-arg", "unknown"};
-        thermostat.start(paths, args);
-
-        verify(provider).start(eq(args));
-    }
-}
-
--- a/main/src/test/java/com/redhat/thermostat/main/internal/FrameworkOptionsProcessorTest.java	Fri Sep 29 10:45:11 2017 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
- * Copyright 2012-2017 Red Hat, Inc.
- *
- * This file is part of Thermostat.
- *
- * Thermostat is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation; either version 2, or (at your
- * option) any later version.
- *
- * Thermostat is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Thermostat; see the file COPYING.  If not see
- * <http://www.gnu.org/licenses/>.
- *
- * Linking this code with other modules is making a combined work
- * based on this code.  Thus, the terms and conditions of the GNU
- * General Public License cover the whole combination.
- *
- * As a special exception, the copyright holders of this code give
- * you permission to link this code with independent modules to
- * produce an executable, regardless of the license terms of these
- * independent modules, and to copy and distribute the resulting
- * executable under terms of your choice, provided that you also
- * meet, for each linked independent module, the terms and conditions
- * of the license of that module.  An independent module is a module
- * which is not derived from or based on this code.  If you modify
- * this code, you may extend this exception to your version of the
- * library, but you are not obligated to do so.  If you do not wish
- * to do so, delete this exception statement from your version.
- */
-
-package com.redhat.thermostat.main.internal;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Arrays;
-
-import org.junit.Test;
-
-import com.redhat.thermostat.main.internal.FrameworkOptionsProcessor;
-
-public class FrameworkOptionsProcessorTest {
-
-    @Test
-    public void verifyDefaults() {
-        String[] args = new String[] { "help" };
-        FrameworkOptionsProcessor opts = new FrameworkOptionsProcessor(args);
-        assertFalse(opts.printOsgiInfo());
-        assertFalse(opts.ignoreBundleVersions());
-        assertTrue(opts.bootDelegationValue().contains("com.redhat.thermostat.vm.profiler"));
-        assertEquals(Arrays.asList("help"), Arrays.asList(opts.getOtherOptions()));
-    }
-
-    @Test
-    public void canGetPrintOsgiInfo() {
-        String[] args = new String[] { "--print-osgi-info", "help" };
-        FrameworkOptionsProcessor opts = new FrameworkOptionsProcessor(args);
-        assertTrue(opts.printOsgiInfo());
-        assertEquals(Arrays.asList("help"),
-                Arrays.asList(opts.getOtherOptions()));
-    }
-
-    @Test
-    public void canGetBootDelegation() {
-        String[] args = new String[] { "--boot-delegation=foo", "help" };
-        FrameworkOptionsProcessor opts = new FrameworkOptionsProcessor(args);
-        assertEquals("foo", opts.bootDelegationValue());
-        assertEquals(Arrays.asList("help"),
-                Arrays.asList(opts.getOtherOptions()));
-    }
-
-    @Test
-    public void canGetIgnoreBundleVersion() {
-        String[] args = new String[] { "--ignore-bundle-versions", "help" };
-        FrameworkOptionsProcessor opts = new FrameworkOptionsProcessor(args);
-        assertTrue(opts.ignoreBundleVersions());
-        assertEquals(Arrays.asList("help"),
-                Arrays.asList(opts.getOtherOptions()));
-    }
-
-    @Test(expected = RuntimeException.class)
-    public void emtpyStringForBootDelegationThrowsException() {
-        String[] args = new String[] { "--boot-delegation=", "help" };
-        // This is expected to fail since the boot delegation value is an empty
-        // string.
-        new FrameworkOptionsProcessor(args);
-    }
-}
--- a/main/src/test/java/com/redhat/thermostat/main/internal/FrameworkProviderTest.java	Fri Sep 29 10:45:11 2017 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,274 +0,0 @@
-/*
- * Copyright 2012-2017 Red Hat, Inc.
- *
- * This file is part of Thermostat.
- *
- * Thermostat is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation; either version 2, or (at your
- * option) any later version.
- *
- * Thermostat is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Thermostat; see the file COPYING.  If not see
- * <http://www.gnu.org/licenses/>.
- *
- * Linking this code with other modules is making a combined work
- * based on this code.  Thus, the terms and conditions of the GNU
- * General Public License cover the whole combination.
- *
- * As a special exception, the copyright holders of this code give
- * you permission to link this code with independent modules to
- * produce an executable, regardless of the license terms of these
- * independent modules, and to copy and distribute the resulting
- * executable under terms of your choice, provided that you also
- * meet, for each linked independent module, the terms and conditions
- * of the license of that module.  An independent module is a module
- * which is not derived from or based on this code.  If you modify
- * this code, you may extend this exception to your version of the
- * library, but you are not obligated to do so.  If you do not wish
- * to do so, delete this exception statement from your version.
- */
-
-package com.redhat.thermostat.main.internal;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-import org.osgi.framework.launch.Framework;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-
-import com.redhat.thermostat.launcher.BundleInformation;
-import com.redhat.thermostat.launcher.BundleManager;
-import com.redhat.thermostat.launcher.Launcher;
-import com.redhat.thermostat.main.internal.FrameworkOptionsProcessor;
-import com.redhat.thermostat.main.internal.FrameworkProvider;
-import com.redhat.thermostat.shared.config.CommonPaths;
-import com.redhat.thermostat.shared.config.internal.CommonPathsImpl;
-
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({FrameworkProvider.class})
-public class FrameworkProviderTest {
-
-    private static final String THERMOSTAT_HOME_PROPERTY = "THERMOSTAT_HOME";
-    private static final String USER_THERMOSTAT_HOME_PROPERTY = "USER_THERMOSTAT_HOME";
-
-    private BundleContext mockContext;
-
-    private Framework framework;
-
-    private FakeBundleManager bundleManager;
-    private Launcher launcher;
-    private CommonPaths paths;
-    private String savedHome, savedUserHome;
-
-    static class FakeBundleManager extends BundleManager /* extends BundleManagerImpl */ {
-
-        private boolean printOSGiInfo;
-        private boolean ignoreBundleVersion;
-
-        @Override
-        public void loadBundlesByName(List<BundleInformation> bundles) throws BundleException, IOException {
-            // do nothing
-        }
-
-        @Override
-        public CommonPaths getCommonPaths() {
-            return null;
-        }
-
-        // @Override
-        public void setPrintOSGiInfo(boolean print) {
-            this.printOSGiInfo = print;
-        }
-
-        // @Override
-        public void setIgnoreBundleVersions(boolean ignore) {
-            this.ignoreBundleVersion = ignore;
-        }
-
-    }
-
-    @SuppressWarnings("rawtypes")
-    @Before
-    public void setUp() throws Exception {
-        Path tempDir;
-        tempDir = Files.createTempDirectory("FrameworkProviderTest");
-        tempDir.toFile().deleteOnExit();
-        savedHome = System.setProperty(THERMOSTAT_HOME_PROPERTY, tempDir.toString());
-        savedUserHome = System.setProperty(USER_THERMOSTAT_HOME_PROPERTY, tempDir.toString());
-        paths = new CommonPathsImpl();
-
-        File tempEtc = new File(tempDir.toFile(), "etc");
-        tempEtc.mkdirs();
-        tempEtc.deleteOnExit();
-
-        File tempProps = new File(tempEtc, "osgi-export.properties");
-        tempProps.createNewFile();
-        tempProps.deleteOnExit();
-
-        File tempBundleProps = new File(tempEtc, "bundles.properties");
-        tempBundleProps.createNewFile();
-        tempBundleProps.deleteOnExit();
-
-        File tempLibs = new File(tempDir.toFile(), "libs");
-        tempLibs.mkdirs();
-        tempLibs.deleteOnExit();
-
-        mockContext = mock(BundleContext.class);
-
-        framework = mock(Framework.class);
-        TestFrameworkFactory.setFramework(framework);
-        when(framework.getBundleContext()).thenReturn(mockContext);
-
-        Bundle mockBundle = mock(Bundle.class);
-        when(mockContext.installBundle(any(String.class))).thenReturn(mockBundle);
-        when(mockBundle.getHeaders()).thenReturn(new Hashtable<String, String>());
-        ServiceTracker registryTracker = mock(ServiceTracker.class);
-        PowerMockito
-                .whenNew(ServiceTracker.class)
-                .withParameterTypes(BundleContext.class, String.class,
-                        ServiceTrackerCustomizer.class)
-                .withArguments(any(BundleContext.class),
-                        eq(BundleManager.class.getName()), any(ServiceTrackerCustomizer.class))
-                .thenReturn(registryTracker);
-        bundleManager = new FakeBundleManager();
-        when(registryTracker.waitForService(0)).thenReturn(bundleManager);
-        ServiceTracker launcherTracker = mock(ServiceTracker.class);
-        launcher = mock(Launcher.class);
-        PowerMockito
-                .whenNew(ServiceTracker.class)
-                .withParameterTypes(BundleContext.class, String.class,
-                        ServiceTrackerCustomizer.class)
-                .withArguments(any(BundleContext.class),
-                        eq(Launcher.class.getName()),
-                        any(ServiceTrackerCustomizer.class))
-                .thenReturn(launcherTracker);
-        when(launcherTracker.waitForService(0))
-                .thenReturn(launcher);
-
-        Path osgiDir;
-
-        osgiDir = tempDir.resolve("osgi-cache");
-        osgiDir.toFile().mkdirs();
-        osgiDir.toFile().deleteOnExit();
-        assertTrue(osgiDir.toFile().exists());
-    }
-
-    @After
-    public void clearSystemProperties() {
-        if (savedHome == null) {
-            System.clearProperty(THERMOSTAT_HOME_PROPERTY);
-        } else {
-            System.setProperty(THERMOSTAT_HOME_PROPERTY, savedHome);
-            savedHome = null;
-        }
-        if (savedUserHome == null) {
-            System.clearProperty(USER_THERMOSTAT_HOME_PROPERTY);
-        } else {
-            System.setProperty(USER_THERMOSTAT_HOME_PROPERTY, savedUserHome);
-            savedUserHome = null;
-        }
-        paths = null;
-    }
-
-    @Test
-    public void testStartRunsOSGiFramework() throws Exception {
-        FrameworkOptionsProcessor opts = new FrameworkOptionsProcessor(new String[] {});
-        FrameworkProvider provider = new FrameworkProvider(paths, opts);
-
-        provider.start(new String[] {});
-
-        verify(framework).init();
-        verify(framework).start();
-    }
-
-    @Test
-    public void testStartRunsLauncher() throws Exception {
-        FrameworkOptionsProcessor opts = new FrameworkOptionsProcessor(new String[] {});
-        FrameworkProvider provider = new FrameworkProvider(paths, opts);
-
-        provider.start(new String[] {});
-
-        verify(launcher).run(new String[] {});
-    }
-
-    @Test
-    public void testPrintOSGiInfoParameterIsPassedToBundleManager() {
-        FrameworkOptionsProcessor opts = mock(FrameworkOptionsProcessor.class);
-        when(opts.printOsgiInfo()).thenReturn(true);
-        FrameworkProvider provider = new FrameworkProvider(paths, opts);
-
-        provider.start(new String[] {});
-
-        assertEquals(true, bundleManager.printOSGiInfo);
-    }
-
-    @Test
-    public void testIgnoreBundleVersionsParameterIsPassedToBundleManager() {
-        FrameworkOptionsProcessor opts = mock(FrameworkOptionsProcessor.class);
-        when(opts.ignoreBundleVersions()).thenReturn(true);
-        FrameworkProvider provider = new FrameworkProvider(paths, opts);
-
-        provider.start(new String[] {});
-
-        assertEquals(true, bundleManager.ignoreBundleVersion);
-    }
-
-    @Test
-    public void testNullBootDelegationIsNotSetInConfiguration() {
-        FrameworkOptionsProcessor opts = mock(FrameworkOptionsProcessor.class);
-        when(opts.bootDelegationValue()).thenReturn(null);
-        FrameworkProvider provider = new FrameworkProvider(paths, opts);
-
-        provider.start(new String[] {});
-
-        Map<String, String> config = TestFrameworkFactory.getConfig();
-        assertFalse(config.containsKey(Constants.FRAMEWORK_BOOTDELEGATION));
-    }
-
-    @Test
-    public void testPackagesListedInBootDelegationArePassedToFramework() {
-        FrameworkOptionsProcessor opts = mock(FrameworkOptionsProcessor.class);
-        when(opts.bootDelegationValue()).thenReturn("foo");
-        FrameworkProvider provider = new FrameworkProvider(paths, opts);
-
-        provider.start(new String[] {});
-
-        Map<String, String> config = TestFrameworkFactory.getConfig();
-        assertEquals("foo", config.get(Constants.FRAMEWORK_BOOTDELEGATION));
-    }
-
-}
--- a/main/src/test/java/com/redhat/thermostat/main/internal/TestFrameworkFactory.java	Fri Sep 29 10:45:11 2017 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
- * Copyright 2012-2017 Red Hat, Inc.
- *
- * This file is part of Thermostat.
- *
- * Thermostat is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation; either version 2, or (at your
- * option) any later version.
- *
- * Thermostat is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Thermostat; see the file COPYING.  If not see
- * <http://www.gnu.org/licenses/>.
- *
- * Linking this code with other modules is making a combined work
- * based on this code.  Thus, the terms and conditions of the GNU
- * General Public License cover the whole combination.
- *
- * As a special exception, the copyright holders of this code give
- * you permission to link this code with independent modules to
- * produce an executable, regardless of the license terms of these
- * independent modules, and to copy and distribute the resulting
- * executable under terms of your choice, provided that you also
- * meet, for each linked independent module, the terms and conditions
- * of the license of that module.  An independent module is a module
- * which is not derived from or based on this code.  If you modify
- * this code, you may extend this exception to your version of the
- * library, but you are not obligated to do so.  If you do not wish
- * to do so, delete this exception statement from your version.
- */
-
-package com.redhat.thermostat.main.internal;
-
-import java.util.Map;
-
-import org.osgi.framework.launch.Framework;
-import org.osgi.framework.launch.FrameworkFactory;
-
-/** Registered using ServiceLoader */
-public class TestFrameworkFactory implements FrameworkFactory {
-
-    private static Framework framework;
-    private static Map<String, String> config;
-
-    public static void setFramework(Framework framework) {
-        TestFrameworkFactory.framework = framework;
-    }
-
-    public static Map<String,String> getConfig() {
-        return config;
-    }
-
-    // NOTE: For some unknown reason, this doesn't compile when declared
-    // as newFramework(Map<String,String> config). At least not in Maven.
-    @SuppressWarnings({ "unchecked", "rawtypes" })
-    @Override
-    public Framework newFramework(Map config) {
-        TestFrameworkFactory.config = config;
-        return framework;
-    }
-
-}
-
--- a/main/src/test/resources/META-INF/services/org.osgi.framework.launch.FrameworkFactory	Fri Sep 29 10:45:11 2017 -0400
+++ b/main/src/test/resources/META-INF/services/org.osgi.framework.launch.FrameworkFactory	Tue Oct 03 13:25:56 2017 -0400
@@ -34,5 +34,5 @@
 # to do so, delete this exception statement from your version.
 #
 
-com.redhat.thermostat.main.internal.TestFrameworkFactory
+com.redhat.thermostat.agent.main.internal.TestFrameworkFactory
 
--- a/plugins/commands/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/commands/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -41,8 +41,8 @@
 
   <parent>
     <artifactId>thermostat-commands</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-commands-agent</artifactId>
@@ -112,22 +112,22 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-plugin</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/commands/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/commands/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -48,7 +48,7 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-commands-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-commands-agent</include>
         <include>org.eclipse.jetty.websocket:websocket-client</include>
         <include>org.eclipse.jetty.websocket:websocket-api</include>
         <include>org.eclipse.jetty.websocket:websocket-common</include>
--- a/plugins/commands/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/commands/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-commands</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-commands-distribution</artifactId>
@@ -79,7 +79,7 @@
   
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-commands-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/commands/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/commands/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-commands</artifactId>
--- a/plugins/host-cpu/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-cpu/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -41,8 +41,8 @@
 
   <parent>
     <artifactId>thermostat-host-cpu</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-host-cpu-agent</artifactId>
@@ -148,32 +148,32 @@
       <version>${gson.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-plugin</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-portability</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/host-cpu/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-cpu/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -48,7 +48,7 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-host-cpu-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-host-cpu-agent</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/host-cpu/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-cpu/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-host-cpu</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-host-cpu-distribution</artifactId>
@@ -79,7 +79,7 @@
   
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-host-cpu-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/host-cpu/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-cpu/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-host-cpu</artifactId>
--- a/plugins/host-memory/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-memory/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -41,8 +41,8 @@
 
   <parent>
     <artifactId>thermostat-host-memory</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-host-memory-agent</artifactId>
@@ -144,32 +144,32 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-plugin</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-portability</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/host-memory/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-memory/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -48,7 +48,7 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-host-memory-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-host-memory-agent</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/host-memory/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-memory/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-host-memory</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-host-memory-distribution</artifactId>
@@ -79,7 +79,7 @@
   
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-host-memory-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/host-memory/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-memory/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-host-memory</artifactId>
--- a/plugins/host-network/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-network/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -41,8 +41,8 @@
 
   <parent>
     <artifactId>thermostat-host-network</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-host-network-agent</artifactId>
@@ -164,32 +164,32 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-plugin</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-portability</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/host-network/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-network/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -48,7 +48,7 @@
     <dependencySets>
         <dependencySet>
             <includes>
-                <include>com.redhat.thermostat:thermostat-host-network-agent</include>
+                <include>com.redhat.thermostat.agent:thermostat-host-network-agent</include>
             </includes>
             <useProjectArtifact>false</useProjectArtifact>
             <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/host-network/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-network/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-host-network</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-host-network-distribution</artifactId>
@@ -79,7 +79,7 @@
   
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-host-network-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/host-network/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-network/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>com.redhat.thermostat</groupId>
+        <groupId>com.redhat.thermostat.agent</groupId>
         <artifactId>thermostat-plugins</artifactId>
-        <version>1.99.12-SNAPSHOT</version>
+        <version>2.99.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>thermostat-host-network</artifactId>
--- a/plugins/host-overview/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-overview/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -41,8 +41,8 @@
 
   <parent>
     <artifactId>thermostat-host-overview</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-host-overview-agent</artifactId>
@@ -144,32 +144,32 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-plugin</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-portability</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/host-overview/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-overview/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -48,7 +48,7 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-host-overview-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-host-overview-agent</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/host-overview/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-overview/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-host-overview</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-host-overview-distribution</artifactId>
@@ -79,7 +79,7 @@
   
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-host-overview-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/host-overview/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/host-overview/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-host-overview</artifactId>
--- a/plugins/jvm-overview/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/jvm-overview/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -41,8 +41,8 @@
 
   <parent>
     <artifactId>thermostat-jvm-overview</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-jvm-overview-agent</artifactId>
@@ -152,32 +152,32 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-plugin</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-portability</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
@@ -187,10 +187,5 @@
       <groupId>org.apache.felix</groupId>
       <artifactId>org.apache.felix.scr.annotations</artifactId>
     </dependency>
-      <dependency>
-          <groupId>com.redhat.thermostat</groupId>
-          <artifactId>thermostat-common-plugin</artifactId>
-          <version>1.99.12-SNAPSHOT</version>
-      </dependency>
   </dependencies>
 </project>
--- a/plugins/jvm-overview/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/jvm-overview/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -48,7 +48,7 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-jvm-overview-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-jvm-overview-agent</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/jvm-overview/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/jvm-overview/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-jvm-overview</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-jvm-overview-distribution</artifactId>
@@ -79,7 +79,7 @@
   
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-jvm-overview-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/jvm-overview/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/jvm-overview/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-jvm-overview</artifactId>
--- a/plugins/killvm/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/killvm/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-killvm</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-killvm-agent</artifactId>
@@ -72,33 +72,33 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-launcher</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-process-handler</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-commands-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/killvm/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/killvm/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -48,7 +48,7 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-killvm-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-killvm-agent</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/killvm/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/killvm/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -39,9 +39,9 @@
 <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>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-killvm</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-killvm-distribution</artifactId>
@@ -78,7 +78,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-killvm-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/killvm/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/killvm/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-killvm</artifactId>
--- a/plugins/numa/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/numa/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-numa</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-numa-agent</artifactId>
   <packaging>bundle</packaging>
@@ -85,27 +85,27 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-numa-common</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/numa/common/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/numa/common/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-numa</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-numa-common</artifactId>
   <packaging>bundle</packaging>
@@ -92,17 +92,17 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/numa/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/numa/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -49,8 +49,8 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-numa-common</include>
-        <include>com.redhat.thermostat:thermostat-numa-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-numa-common</include>
+        <include>com.redhat.thermostat.agent:thermostat-numa-agent</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/numa/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/numa/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-numa</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-numa-distribution</artifactId>
@@ -79,7 +79,7 @@
   
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-numa-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/numa/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/numa/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-numa</artifactId>
--- a/plugins/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
-    <artifactId>thermostat</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <artifactId>thermostat-agent</artifactId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-plugins</artifactId>
--- a/plugins/thread/collector/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/thread/collector/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-thread</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-thread-collector</artifactId>
@@ -62,24 +62,24 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
     </dependency>
 
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-command</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-testutils</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/thread/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/thread/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -49,8 +49,8 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-thread-harvester</include>
-        <include>com.redhat.thermostat:thermostat-thread-collector</include>
+        <include>com.redhat.thermostat.agent:thermostat-thread-harvester</include>
+        <include>com.redhat.thermostat.agent:thermostat-thread-collector</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/thread/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/thread/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-thread</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-thread-distribution</artifactId>
@@ -79,7 +79,7 @@
   
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-thread-harvester</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/thread/harvester/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/thread/harvester/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-thread</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-thread-harvester</artifactId>
@@ -62,13 +62,13 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-thread-collector</artifactId>
       <version>${project.version}</version>
     </dependency>
@@ -85,7 +85,7 @@
     </dependency>
 
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/thread/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/thread/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-thread</artifactId>
--- a/plugins/vm-byteman/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-byteman/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-byteman</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-byteman-agent</artifactId>
   <packaging>bundle</packaging>
@@ -104,37 +104,37 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-commands-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-server</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-jvm-overview-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/vm-byteman/byteman-helper-distro/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-byteman/byteman-helper-distro/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-byteman</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-byteman-helper-distro</artifactId>
   <packaging>pom</packaging>
@@ -53,7 +53,7 @@
   </properties>
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-byteman-helper</artifactId>
       <version>${project.version}</version>
       <classifier>shaded</classifier>
@@ -117,7 +117,7 @@
         <artifactId>maven-assembly-plugin</artifactId>
         <dependencies>
           <dependency>
-            <groupId>com.redhat.thermostat</groupId>
+            <groupId>com.redhat.thermostat.agent</groupId>
             <artifactId>thermostat-assembly</artifactId>
             <version>${project.version}</version>
           </dependency>
--- a/plugins/vm-byteman/byteman-helper/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-byteman/byteman-helper/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-byteman</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-byteman-helper</artifactId>
   <packaging>jar</packaging>
@@ -56,12 +56,12 @@
           <shadedArtifactAttached>true</shadedArtifactAttached>
           <artifactSet>
             <includes>
-              <include>com.redhat.thermostat:thermostat-agent-ipc-client</include>
-              <include>com.redhat.thermostat:thermostat-agent-ipc-common</include>
-              <include>com.redhat.thermostat:thermostat-agent-ipc-unixsocket-client</include>
-              <include>com.redhat.thermostat:thermostat-agent-ipc-unixsocket-common</include>
-              <include>com.redhat.thermostat:thermostat-agent-ipc-tcpsocket-client</include>
-              <include>com.redhat.thermostat:thermostat-agent-ipc-tcpsocket-common</include>
+              <include>com.redhat.thermostat.agent:thermostat-agent-ipc-client</include>
+              <include>com.redhat.thermostat.agent:thermostat-agent-ipc-common</include>
+              <include>com.redhat.thermostat.agent:thermostat-agent-ipc-unixsocket-client</include>
+              <include>com.redhat.thermostat.agent:thermostat-agent-ipc-unixsocket-common</include>
+              <include>com.redhat.thermostat.agent:thermostat-agent-ipc-tcpsocket-client</include>
+              <include>com.redhat.thermostat.agent:thermostat-agent-ipc-tcpsocket-common</include>
               <include>com.github.jnr:jnr-ffi</include>
               <include>com.github.jnr:jnr-enxio</include>
               <include>com.github.jnr:jnr-constants</include>
@@ -186,24 +186,24 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-client</artifactId>
       <version>${project.version}</version>
     </dependency>
     <!-- not a compile time dep, but a dep for service providers to be there
          for the helper. see vm-byteman/byteman-helper-distro/pom.xml -->
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-unixsocket-client</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-ipc-tcpsocket-client</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-annotations</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/vm-byteman/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-byteman/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -48,7 +48,7 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-vm-byteman-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-byteman-agent</include>
         <include>org.jboss.byteman:byteman-submit</include>
         <include>org.jboss.byteman:byteman-install</include>
       </includes>
--- a/plugins/vm-byteman/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-byteman/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-vm-byteman</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-byteman-distribution</artifactId>
@@ -79,7 +79,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-byteman-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-byteman/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-byteman/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-byteman</artifactId>
--- a/plugins/vm-classstat/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-classstat/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-classstat</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-classstat-agent</artifactId>
   <packaging>bundle</packaging>
@@ -90,27 +90,27 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-classstat-common</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/vm-classstat/common/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-classstat/common/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-classstat</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-classstat-common</artifactId>
   <packaging>bundle</packaging>
@@ -109,17 +109,17 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/vm-classstat/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-classstat/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -49,8 +49,8 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-vm-classstat-common</include>
-        <include>com.redhat.thermostat:thermostat-vm-classstat-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-classstat-common</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-classstat-agent</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/vm-classstat/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-classstat/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-vm-classstat</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-classstat-distribution</artifactId>
@@ -79,7 +79,7 @@
   
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-classstat-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-classstat/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-classstat/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-classstat</artifactId>
--- a/plugins/vm-compiler/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-compiler/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-compiler</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-compiler-agent</artifactId>
   <packaging>bundle</packaging>
@@ -90,27 +90,27 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-compiler-common</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/vm-compiler/common/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-compiler/common/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-compiler</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-compiler-common</artifactId>
   <packaging>bundle</packaging>
@@ -109,17 +109,17 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/vm-compiler/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-compiler/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -49,8 +49,8 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-vm-compiler-common</include>
-        <include>com.redhat.thermostat:thermostat-vm-compiler-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-compiler-common</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-compiler-agent</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/vm-compiler/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-compiler/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-vm-compiler</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-compiler-distribution</artifactId>
@@ -79,7 +79,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-compiler-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-compiler/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-compiler/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-compiler</artifactId>
--- a/plugins/vm-cpu/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-cpu/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -41,8 +41,8 @@
 
   <parent>
     <artifactId>thermostat-vm-cpu</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-cpu-agent</artifactId>
@@ -132,32 +132,32 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-portability</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-cpu-common</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/vm-cpu/common/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-cpu/common/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-cpu</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-cpu-common</artifactId>
   <packaging>bundle</packaging>
@@ -109,23 +109,23 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-testutils</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/vm-cpu/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-cpu/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -49,8 +49,8 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-vm-cpu-common</include>
-        <include>com.redhat.thermostat:thermostat-vm-cpu-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-cpu-common</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-cpu-agent</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/vm-cpu/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-cpu/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-vm-cpu</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-cpu-distribution</artifactId>
@@ -79,7 +79,7 @@
   
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-cpu-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-cpu/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-cpu/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-cpu</artifactId>
--- a/plugins/vm-gc/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-gc/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-gc</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-gc-agent</artifactId>
   <packaging>bundle</packaging>
@@ -126,32 +126,32 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-plugin</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-jvm-overview-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/vm-gc/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-gc/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -48,8 +48,8 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-vm-gc-agent</include>
-        <include>com.redhat.thermostat:thermostat-gc-remote-collector-command</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-gc-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-gc-remote-collector-command</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/vm-gc/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-gc/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-vm-gc</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-gc-distribution</artifactId>
@@ -79,13 +79,13 @@
   
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-gc-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
     <!-- Remote GC -->
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-gc-remote-collector-command</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-gc/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-gc/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-gc</artifactId>
--- a/plugins/vm-gc/remote-collector-command/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-gc/remote-collector-command/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-vm-gc</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-gc-remote-collector-command</artifactId>
@@ -62,7 +62,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
@@ -79,12 +79,12 @@
     </dependency>
 
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>      
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-commands-agent</artifactId>
       <version>${project.version}</version>      
     </dependency>
@@ -94,7 +94,7 @@
       <artifactId>org.apache.felix.scr.annotations</artifactId>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/vm-heap-analysis/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-heap-analysis/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-vm-heap-analysis</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-heap-analysis-agent</artifactId>
@@ -83,24 +83,24 @@
     </dependency>
 
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-command</artifactId>
       <version>${project.version}</version>
     </dependency>
     
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-heap-analysis-common</artifactId>
       <version>${project.version}</version>
     </dependency>
     
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/vm-heap-analysis/common/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-heap-analysis/common/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-heap-analysis</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-heap-analysis-common</artifactId>
   <packaging>bundle</packaging>
@@ -93,7 +93,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
@@ -110,18 +110,18 @@
     </dependency>
     
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <!-- jhat forked sources -->
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-heap-analysis-hprof</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-heap-analysis/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-heap-analysis/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -49,9 +49,9 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-vm-heap-analysis-common</include>
-        <include>com.redhat.thermostat:thermostat-vm-heap-analysis-agent</include>
-        <include>com.redhat.thermostat:thermostat-vm-heap-analysis-hprof</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-heap-analysis-common</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-heap-analysis-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-heap-analysis-hprof</include>
         <include>${lucene-core.maven-coords}</include>
         <include>${lucene-analysis.maven-coords}</include>
       </includes>
--- a/plugins/vm-heap-analysis/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-heap-analysis/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-vm-heap-analysis</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-heap-analysis-distribution</artifactId>
@@ -79,7 +79,7 @@
   
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-heap-analysis-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-heap-analysis/hprof/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-heap-analysis/hprof/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-heap-analysis</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-heap-analysis-hprof</artifactId>
   <packaging>bundle</packaging>
--- a/plugins/vm-heap-analysis/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-heap-analysis/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-heap-analysis</artifactId>
--- a/plugins/vm-io/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-io/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -41,8 +41,8 @@
 
   <parent>
     <artifactId>thermostat-vm-io</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-io-agent</artifactId>
@@ -143,35 +143,35 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-portability</artifactId>
       <version>${project.version}</version>
     </dependency>
       <dependency>
-          <groupId>com.redhat.thermostat</groupId>
+          <groupId>com.redhat.thermostat.agent</groupId>
           <artifactId>thermostat-jvm-overview-agent</artifactId>
-          <version>1.99.12-SNAPSHOT</version>
+          <version>2.99.0-SNAPSHOT</version>
       </dependency>
   </dependencies>
 </project>
--- a/plugins/vm-io/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-io/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -48,7 +48,7 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-vm-io-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-io-agent</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/vm-io/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-io/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-vm-io</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-io-distribution</artifactId>
@@ -79,7 +79,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-io-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-io/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-io/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-io</artifactId>
--- a/plugins/vm-jmx/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-jmx/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-jmx</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-jmx-agent</artifactId>
   <packaging>bundle</packaging>
@@ -80,7 +80,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
@@ -96,22 +96,22 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-command</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-jmx-common</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-jmx/common/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-jmx/common/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-jmx</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-jmx-common</artifactId>
   <packaging>bundle</packaging>
@@ -82,7 +82,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
@@ -98,12 +98,12 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-jmx/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-jmx/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -49,8 +49,8 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-vm-jmx-common</include>
-        <include>com.redhat.thermostat:thermostat-vm-jmx-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-jmx-common</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-jmx-agent</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/vm-jmx/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-jmx/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-vm-jmx</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-jmx-distribution</artifactId>
@@ -79,7 +79,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-jmx-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-jmx/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-jmx/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-jmx</artifactId>
--- a/plugins/vm-memory/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-memory/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-memory</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-memory-agent</artifactId>
   <packaging>bundle</packaging>
@@ -104,32 +104,32 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-jvm-overview-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-plugin</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/vm-memory/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-memory/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -48,7 +48,7 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-vm-memory-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-memory-agent</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/vm-memory/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-memory/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-vm-memory</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-memory-distribution</artifactId>
@@ -79,7 +79,7 @@
   
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-memory-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-memory/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-memory/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-memory</artifactId>
--- a/plugins/vm-numa/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-numa/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-numa</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-numa-agent</artifactId>
   <packaging>bundle</packaging>
@@ -80,7 +80,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
@@ -91,12 +91,12 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-numa-common</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-numa/common/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-numa/common/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-numa</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-numa-common</artifactId>
   <packaging>bundle</packaging>
@@ -98,7 +98,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
@@ -109,7 +109,7 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-numa/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-numa/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -49,8 +49,8 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-vm-numa-common</include>
-        <include>com.redhat.thermostat:thermostat-vm-numa-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-numa-common</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-numa-agent</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/vm-numa/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-numa/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-vm-numa</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-numa-distribution</artifactId>
@@ -79,7 +79,7 @@
   
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-numa-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-numa/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-numa/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-numa</artifactId>
--- a/plugins/vm-profiler/agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-profiler/agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-profiler</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-profiler-agent</artifactId>
   <packaging>bundle</packaging>
@@ -106,32 +106,32 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-profiler-common</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-command</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-agent-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/vm-profiler/common/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-profiler/common/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-profiler</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-profiler-common</artifactId>
   <packaging>bundle</packaging>
@@ -108,28 +108,28 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-command</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-storage-testutils</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/vm-profiler/distribution/assemblies/plugin-assembly.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-profiler/distribution/assemblies/plugin-assembly.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -49,9 +49,9 @@
   <dependencySets>
     <dependencySet>
       <includes>
-        <include>com.redhat.thermostat:thermostat-vm-profiler-common</include>
-        <include>com.redhat.thermostat:thermostat-vm-profiler-agent</include>
-        <include>com.redhat.thermostat:thermostat-vm-profiler-jvm-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-profiler-common</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-profiler-agent</include>
+        <include>com.redhat.thermostat.agent:thermostat-vm-profiler-jvm-agent</include>
       </includes>
       <useProjectArtifact>false</useProjectArtifact>
       <useStrictFiltering>true</useStrictFiltering>
--- a/plugins/vm-profiler/distribution/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-profiler/distribution/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-vm-profiler</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-profiler-distribution</artifactId>
@@ -79,12 +79,12 @@
 
   <dependencies>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-profiler-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-vm-profiler-jvm-agent</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/plugins/vm-profiler/jvm-agent/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-profiler/jvm-agent/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,8 +40,8 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>thermostat-vm-profiler</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   <artifactId>thermostat-vm-profiler-jvm-agent</artifactId>
   <packaging>jar</packaging>
@@ -114,7 +114,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-annotations</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
--- a/plugins/vm-profiler/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/plugins/vm-profiler/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-plugins</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-vm-profiler</artifactId>
--- a/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -39,12 +39,12 @@
 <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>
 
-  <groupId>com.redhat.thermostat</groupId>
-  <artifactId>thermostat</artifactId>
-  <version>1.99.12-SNAPSHOT</version>
+  <groupId>com.redhat.thermostat.agent</groupId>
+  <artifactId>thermostat-agent</artifactId>
+  <version>2.99.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
-  <name>Thermostat</name>
+  <name>Thermostat Agent</name>
   <url>${thermostat.url}</url>
 
   <profiles>
@@ -729,7 +729,7 @@
         <version>${jnr-ffi.version}</version>
       </dependency>
       <dependency>
-        <groupId>com.redhat.thermostat</groupId>
+        <groupId>com.redhat.thermostat.agent</groupId>
         <artifactId>jnr-x86asm</artifactId>
         <version>${jnr-x86asm.version}</version>
       </dependency>
--- a/process-handler/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/process-handler/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -39,9 +39,9 @@
 <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>
-    <artifactId>thermostat</artifactId>
-    <groupId>com.redhat.thermostat</groupId>
-    <version>1.99.12-SNAPSHOT</version>
+    <artifactId>thermostat-agent</artifactId>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   
   <artifactId>thermostat-process-handler</artifactId>
@@ -88,13 +88,13 @@
     </dependency>
     
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
 
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-portability</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/storage/core/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/storage/core/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
+    <groupId>com.redhat.thermostat.agent</groupId>
     <artifactId>thermostat-storage</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   
   <artifactId>thermostat-storage-core</artifactId>
@@ -107,19 +107,19 @@
       <artifactId>org.apache.felix.framework</artifactId>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-annotations</artifactId>
       <version>${project.version}</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
--- a/storage/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/storage/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -40,9 +40,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.redhat.thermostat</groupId>
-    <artifactId>thermostat</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <artifactId>thermostat-agent</artifactId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>thermostat-storage</artifactId>
--- a/thermostat-plugin-validator/pom.xml	Fri Sep 29 10:45:11 2017 -0400
+++ b/thermostat-plugin-validator/pom.xml	Tue Oct 03 13:25:56 2017 -0400
@@ -39,9 +39,9 @@
 <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>com.redhat.thermostat</groupId>
-    <artifactId>thermostat</artifactId>
-    <version>1.99.12-SNAPSHOT</version>
+    <groupId>com.redhat.thermostat.agent</groupId>
+    <artifactId>thermostat-agent</artifactId>
+    <version>2.99.0-SNAPSHOT</version>
   </parent>
   
   <artifactId>thermostat-plugin-validator</artifactId>
@@ -99,13 +99,13 @@
     </dependency>
     
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-core</artifactId>
       <version>${project.version}</version>
     </dependency>
     
     <dependency>
-      <groupId>com.redhat.thermostat</groupId>
+      <groupId>com.redhat.thermostat.agent</groupId>
       <artifactId>thermostat-common-test</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>