changeset 1242:441eaa41693d

Use bundle names/versions for built in commands Reviewed-by: jerboaa Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-August/008075.html
author Omair Majid <omajid@redhat.com>
date Tue, 03 Sep 2013 17:12:23 -0400
parents 1fea6bb2f7d2
children 3282fac13d06
files distribution/config/commands/agent.properties distribution/config/commands/clean-data.properties distribution/config/commands/connect.properties distribution/config/commands/disconnect.properties distribution/config/commands/gui.properties distribution/config/commands/list-vms.properties distribution/config/commands/ping.properties distribution/config/commands/service.properties distribution/config/commands/shell.properties distribution/config/commands/storage.properties distribution/config/commands/vm-info.properties distribution/config/commands/vm-stat.properties distribution/config/commands/webservice.properties launcher/src/main/java/com/redhat/thermostat/launcher/BundleInformation.java launcher/src/main/java/com/redhat/thermostat/launcher/BundleManager.java launcher/src/main/java/com/redhat/thermostat/launcher/internal/BasicCommandInfo.java launcher/src/main/java/com/redhat/thermostat/launcher/internal/BuiltInCommandInfo.java launcher/src/main/java/com/redhat/thermostat/launcher/internal/BuiltInCommandInfoSource.java launcher/src/main/java/com/redhat/thermostat/launcher/internal/BundleManagerImpl.java launcher/src/main/java/com/redhat/thermostat/launcher/internal/CommandInfo.java launcher/src/main/java/com/redhat/thermostat/launcher/internal/CompoundCommandInfoSource.java launcher/src/main/java/com/redhat/thermostat/launcher/internal/LauncherImpl.java launcher/src/main/java/com/redhat/thermostat/launcher/internal/PluginCommandInfoSource.java launcher/src/test/java/com/redhat/thermostat/launcher/internal/BasicCommandInfoTest.java launcher/src/test/java/com/redhat/thermostat/launcher/internal/BuiltInCommandInfoTest.java launcher/src/test/java/com/redhat/thermostat/launcher/internal/CompoundCommandInfoSourceTest.java launcher/src/test/java/com/redhat/thermostat/launcher/internal/LauncherImplTest.java launcher/src/test/java/com/redhat/thermostat/launcher/internal/TestCommandInfo.java
diffstat 28 files changed, 229 insertions(+), 322 deletions(-) [+]
line wrap: on
line diff
--- a/distribution/config/commands/agent.properties	Tue Sep 03 14:18:35 2013 -0400
+++ b/distribution/config/commands/agent.properties	Tue Sep 03 17:12:23 2013 -0400
@@ -1,23 +1,23 @@
-bundles = thermostat-agent-core-@project.version@.jar, \
-          thermostat-web-common-@project.version@.jar, \
-          thermostat-web-client-@project.version@.jar, \
-          httpcore-osgi-${httpcomponents.version}.jar, \
-          httpclient-osgi-${httpcomponents.version}.jar, \
-          gson-${gson.version}.jar, \
-          thermostat-osgi-process-handler-@project.version@.jar, \
-          thermostat-common-core-@project.version@.jar, \
-          thermostat-agent-cli-@project.version@.jar, \
-          thermostat-common-command-@project.version@.jar, \
-          thermostat-agent-command-@project.version@.jar, \
-          thermostat-killvm-agent-@project.version@.jar, \
-          thermostat-system-backend-@project.version@.jar, \
-          thermostat-storage-mongodb-${project.version}.jar, \
-          mongo-java-driver-${mongo-driver.version}.jar, \
-          commons-beanutils-${commons-beanutils.version}.jar, \
-          commons-codec-${commons-codec.version}.jar, \
-          commons-collections-${commons-collections.version}.jar, \
-          commons-logging-${commons-logging.version}.jar, \
-          netty-${netty.version}.jar
+bundles = com.redhat.thermostat.agent.core=${project.version}, \
+          com.redhat.thermostat.web.common=${project.version}, \
+          com.redhat.thermostat.web.client=${project.version}, \
+          org.apache.httpcomponents.httpcore=${httpcomponents.version}, \
+          org.apache.httpcomponents.httpclient=${httpcomponents.version}, \
+          com.google.gson=${gson.version}, \
+          com.redhat.thermostat.process=${project.version}, \
+          com.redhat.thermostat.common.core=${project.version}, \
+          com.redhat.thermostat.agent.cli=${project.version}, \
+          com.redhat.thermostat.common.command=${project.version}, \
+          com.redhat.thermostat.agent.command=${project.version}, \
+          com.redhat.thermostat.killvm.agent=${project.version}, \
+          com.redhat.thermostat.backend.system=${project.version}, \
+          com.redhat.thermostat.storage.mongodb=${project.version}, \
+          com.mongodb=${mongo-driver.version}, \
+          org.apache.commons.beanutils=${commons-beanutils.version}, \
+          org.apache.commons.codec=${commons-codec.osgi-version}, \
+          org.apache.commons.collections=${commons-collections.version}, \
+          org.apache.commons.logging=${commons-logging.version}, \
+          org.jboss.netty=${netty.version}
 
 description = starts and stops the thermostat agent
 
--- a/distribution/config/commands/clean-data.properties	Tue Sep 03 14:18:35 2013 -0400
+++ b/distribution/config/commands/clean-data.properties	Tue Sep 03 17:12:23 2013 -0400
@@ -1,15 +1,15 @@
-bundles = thermostat-client-cli-${project.version}.jar, \
-          thermostat-storage-mongodb-${project.version}.jar, \
-          thermostat-web-common-${project.version}.jar, \
-          thermostat-web-client-${project.version}.jar, \
-          httpcore-osgi-${httpcomponents.version}.jar, \
-          httpclient-osgi-${httpcomponents.version}.jar, \
-          gson-${gson.version}.jar, \
-          mongo-java-driver-${mongo-driver.version}.jar, \
-          commons-beanutils-${commons-beanutils.version}.jar, \
-          commons-codec-${commons-codec.version}.jar, \
-          commons-collections-${commons-collections.version}.jar, \
-          commons-logging-${commons-logging.version}.jar, \
+bundles = com.redhat.thermostat.client.cli=${project.version}, \
+          com.redhat.thermostat.storage.mongodb=${project.version}, \
+          com.redhat.thermostat.web.common=${project.version}, \
+          com.redhat.thermostat.web.client=${project.version}, \
+          org.apache.httpcomponents.httpcore=${httpcomponents.version}, \
+          org.apache.httpcomponents.httpclient=${httpcomponents.version}, \
+          com.google.gson=${gson.version}, \
+          com.mongodb=${mongo-driver.version}, \
+          org.apache.commons.beanutils=${commons-beanutils.version}, \
+          org.apache.commons.codec=${commons-codec.osgi-version}, \
+          org.apache.commons.collections=${commons-collections.version}, \
+          org.apache.commons.logging=${commons-logging.version}, \
 
 description = Drop all data related to all of the specified agents
 
--- a/distribution/config/commands/connect.properties	Tue Sep 03 14:18:35 2013 -0400
+++ b/distribution/config/commands/connect.properties	Tue Sep 03 17:12:23 2013 -0400
@@ -1,16 +1,16 @@
 # In order to support web storage connections we add web bundles here
-bundles = thermostat-client-cli-${project.version}.jar, \
-          thermostat-web-common-${project.version}.jar, \
-          thermostat-web-client-${project.version}.jar, \
-          thermostat-storage-mongodb-${project.version}.jar, \
-          mongo-java-driver-${mongo-driver.version}.jar, \
-          commons-beanutils-${commons-beanutils.version}.jar, \
-          commons-codec-${commons-codec.version}.jar, \
-          commons-collections-${commons-collections.version}.jar, \
-          commons-logging-${commons-logging.version}.jar, \
-          httpcore-osgi-${httpcomponents.version}.jar, \
-          httpclient-osgi-${httpcomponents.version}.jar, \
-          gson-${gson.version}.jar
+bundles = com.redhat.thermostat.client.cli=${project.version}, \
+          com.redhat.thermostat.web.common=${project.version}, \
+          com.redhat.thermostat.web.client=${project.version}, \
+          com.redhat.thermostat.storage.mongodb=${project.version}, \
+          com.mongodb=${mongo-driver.version}, \
+          org.apache.commons.beanutils=${commons-beanutils.version}, \
+          org.apache.commons.codec=${commons-codec.osgi-version}, \
+          org.apache.commons.collections=${commons-collections.version}, \
+          org.apache.commons.logging=${commons-logging.version}, \
+          org.apache.httpcomponents.httpcore=${httpcomponents.version}, \
+          org.apache.httpcomponents.httpclient=${httpcomponents.version}, \
+          com.google.gson=${gson.version}
 
 description = persistently connect to storage
 
--- a/distribution/config/commands/disconnect.properties	Tue Sep 03 14:18:35 2013 -0400
+++ b/distribution/config/commands/disconnect.properties	Tue Sep 03 17:12:23 2013 -0400
@@ -1,4 +1,4 @@
-bundles = thermostat-client-cli-${project.version}.jar
+bundles = com.redhat.thermostat.client.cli=${project.version}
 
 description = disconnect from the currently used storage
 
--- a/distribution/config/commands/gui.properties	Tue Sep 03 14:18:35 2013 -0400
+++ b/distribution/config/commands/gui.properties	Tue Sep 03 17:12:23 2013 -0400
@@ -1,26 +1,26 @@
-bundles = thermostat-storage-mongodb-${project.version}.jar, \
-          mongo-java-driver-${mongo-driver.version}.jar, \
-          commons-beanutils-${commons-beanutils.version}.jar, \
-          commons-collections-${commons-collections.version}.jar, \
-          commons-codec-${commons-codec.version}.jar, \
-          commons-logging-${commons-logging.version}.jar, \
-          gson-${gson.version}.jar, \
-          thermostat-web-common-@project.version@.jar, \
-          thermostat-web-client-@project.version@.jar, \
-          thermostat-common-command-@project.version@.jar, \
-          thermostat-client-core-@project.version@.jar, \
-          thermostat-client-cli-@project.version@.jar, \
-          thermostat-client-swing-@project.version@.jar, \
-          thermostat-swing-components-@project.version@.jar, \
-          thermostat-laf-utils-@project.version@.jar, \
-          thermostat-client-command-@project.version@.jar, \
-          thermostat-killvm-client-swing-@project.version@.jar, \
-          thermostat-osgi-living-vm-filter-core-@project.version@.jar, \
-          thermostat-osgi-living-vm-filter-swing-@project.version@.jar, \
-          thermostat-osgi-process-handler-@project.version@.jar, \
-          httpcore-osgi-${httpcomponents.version}.jar, \
-          httpclient-osgi-${httpcomponents.version}.jar, \
-          netty-${netty.version}.jar
+bundles = com.redhat.thermostat.storage.mongodb=${project.version}, \
+          com.mongodb=${mongo-driver.version}, \
+          org.apache.commons.beanutils=${commons-beanutils.version}, \
+          org.apache.commons.collections=${commons-collections.version}, \
+          org.apache.commons.codec=${commons-codec.osgi-version}, \
+          org.apache.commons.logging=${commons-logging.version}, \
+          com.google.gson=${gson.version}, \
+          com.redhat.thermostat.web.common=${project.version}, \
+          com.redhat.thermostat.web.client=${project.version}, \
+          com.redhat.thermostat.common.command=${project.version}, \
+          com.redhat.thermostat.client.core=${project.version}, \
+          com.redhat.thermostat.client.cli=${project.version}, \
+          com.redhat.thermostat.client.swing=${project.version}, \
+          com.redhat.thermostat.client.swing.components=${project.version}, \
+          com.redhat.thermostat.internal.utils.laf=${project.version}, \
+          com.redhat.thermostat.client.command=${project.version}, \
+          com.redhat.thermostat.killvm.client=${project.version}, \
+          com.redhat.thermostat.filter.livingvm.core=${project.version}, \
+          com.redhat.thermostat.filter.livingvm.swing=${project.version}, \
+          com.redhat.thermostat.process=${project.version}, \
+          org.apache.httpcomponents.httpcore=${httpcomponents.version}, \
+          org.apache.httpcomponents.httpclient=${httpcomponents.version}, \
+          org.jboss.netty=${netty.version}
 
 description = launches the GUI client
 
--- a/distribution/config/commands/list-vms.properties	Tue Sep 03 14:18:35 2013 -0400
+++ b/distribution/config/commands/list-vms.properties	Tue Sep 03 17:12:23 2013 -0400
@@ -1,15 +1,15 @@
-bundles = thermostat-client-cli-${project.version}.jar, \
-          thermostat-storage-mongodb-${project.version}.jar, \
-          thermostat-web-common-${project.version}.jar, \
-          thermostat-web-client-${project.version}.jar, \
-          httpcore-osgi-${httpcomponents.version}.jar, \
-          httpclient-osgi-${httpcomponents.version}.jar, \
-          gson-${gson.version}.jar, \
-          mongo-java-driver-${mongo-driver.version}.jar, \
-          commons-beanutils-${commons-beanutils.version}.jar, \
-          commons-codec-${commons-codec.version}.jar, \
-          commons-collections-${commons-collections.version}.jar, \
-          commons-logging-${commons-logging.version}.jar, \
+bundles = com.redhat.thermostat.client.cli=${project.version}, \
+          com.redhat.thermostat.storage.mongodb=${project.version}, \
+          com.redhat.thermostat.web.common=${project.version}, \
+          com.redhat.thermostat.web.client=${project.version}, \
+          org.apache.httpcomponents.httpcore=${httpcomponents.version}, \
+          org.apache.httpcomponents.httpclient=${httpcomponents.version}, \
+          com.google.gson=${gson.version}, \
+          com.mongodb=${mongo-driver.version}, \
+          org.apache.commons.beanutils=${commons-beanutils.version}, \
+          org.apache.commons.codec=${commons-codec.osgi-version}, \
+          org.apache.commons.collections=${commons-collections.version}, \
+          org.apache.commons.logging=${commons-logging.version}, \
 
 description = lists all currently monitored VMs
 
--- a/distribution/config/commands/ping.properties	Tue Sep 03 14:18:35 2013 -0400
+++ b/distribution/config/commands/ping.properties	Tue Sep 03 17:12:23 2013 -0400
@@ -1,17 +1,17 @@
-bundles = thermostat-common-command-@project.version@.jar, \
-          thermostat-client-command-@project.version@.jar, \
-          thermostat-storage-mongodb-${project.version}.jar, \
-          thermostat-web-common-${project.version}.jar, \
-          thermostat-web-client-${project.version}.jar, \
-          httpcore-osgi-${httpcomponents.version}.jar, \
-          httpclient-osgi-${httpcomponents.version}.jar, \
-          gson-${gson.version}.jar, \
-          mongo-java-driver-${mongo-driver.version}.jar, \
-          commons-beanutils-${commons-beanutils.version}.jar, \
-          commons-codec-${commons-codec.version}.jar, \
-          commons-collections-${commons-collections.version}.jar, \
-          commons-logging-${commons-logging.version}.jar, \
-          netty-${netty.version}.jar
+bundles = com.redhat.thermostat.common.command=${project.version}, \
+          com.redhat.thermostat.client.command=${project.version}, \
+          com.redhat.thermostat.storage.mongodb=${project.version}, \
+          com.redhat.thermostat.web.common=${project.version}, \
+          com.redhat.thermostat.web.client=${project.version}, \
+          org.apache.httpcomponents.httpcore=${httpcomponents.version}, \
+          org.apache.httpcomponents.httpclient=${httpcomponents.version}, \
+          com.google.gson=${gson.version}, \
+          com.mongodb=${mongo-driver.version}, \
+          org.apache.commons.beanutils=${commons-beanutils.version}, \
+          org.apache.commons.codec=${commons-codec.osgi-version}, \
+          org.apache.commons.collections=${commons-collections.version}, \
+          org.apache.commons.logging=${commons-logging.version}, \
+          org.jboss.netty=${netty.version}
 
 description = using the Command Channel, send a ping to a running agent
 
--- a/distribution/config/commands/service.properties	Tue Sep 03 14:18:35 2013 -0400
+++ b/distribution/config/commands/service.properties	Tue Sep 03 17:12:23 2013 -0400
@@ -1,15 +1,15 @@
-bundles = thermostat-agent-core-@project.version@.jar, \
-          thermostat-storage-mongodb-${project.version}.jar, \
-          mongo-java-driver-${mongo-driver.version}.jar, \
-          commons-beanutils-${commons-beanutils.version}.jar, \
-          commons-collections-${commons-collections.version}.jar, \
-          commons-logging-${commons-logging.version}.jar, \
-          commons-codec-${commons-codec.version}.jar, \
-          thermostat-osgi-process-handler-@project.version@.jar, \
-          thermostat-common-command-@project.version@.jar, \
-          thermostat-agent-command-@project.version@.jar, \
-          thermostat-agent-cli-@project.version@.jar, \
-          netty-${netty.version}.jar
+bundles = com.redhat.thermostat.agent.core=${project.version}, \
+          com.redhat.thermostat.storage.mongodb=${project.version}, \
+          com.mongodb=${mongo-driver.version}, \
+          org.apache.commons.beanutils=${commons-beanutils.version}, \
+          org.apache.commons.collections=${commons-collections.version}, \
+          org.apache.commons.logging=${commons-logging.version}, \
+          org.apache.commons.codec=${commons-codec.osgi-version}, \
+          com.redhat.thermostat.process=${project.version}, \
+          com.redhat.thermostat.common.command=${project.version}, \
+          com.redhat.thermostat.agent.command=${project.version}, \
+          com.redhat.thermostat.agent.cli=${project.version}, \
+          org.jboss.netty=${netty.version}
 
 description = starts and stops the thermostat storage and agent
 
--- a/distribution/config/commands/shell.properties	Tue Sep 03 14:18:35 2013 -0400
+++ b/distribution/config/commands/shell.properties	Tue Sep 03 17:12:23 2013 -0400
@@ -1,5 +1,5 @@
 # ShellCommand is provided by the tools bundle, which is a bootstrap bundle, and requires no other bundles.
-bundles = thermostat-client-cli-${project.version}.jar
+bundles = com.redhat.thermostat.client.cli=${project.version}
 
 description = launches the Thermostat interactive shell
 
--- a/distribution/config/commands/storage.properties	Tue Sep 03 14:18:35 2013 -0400
+++ b/distribution/config/commands/storage.properties	Tue Sep 03 17:12:23 2013 -0400
@@ -1,10 +1,10 @@
-bundles = thermostat-agent-core-@project.version@.jar, \
-          thermostat-osgi-process-handler-@project.version@.jar, \
-          thermostat-agent-cli-@project.version@.jar, \
-          thermostat-common-command-@project.version@.jar, \
-          thermostat-agent-command-@project.version@.jar, \
-          commons-codec-${commons-codec.version}.jar, \
-          netty-${netty.version}.jar
+bundles = com.redhat.thermostat.agent.core=${project.version}, \
+          com.redhat.thermostat.process=${project.version}, \
+          com.redhat.thermostat.agent.cli=${project.version}, \
+          com.redhat.thermostat.common.command=${project.version}, \
+          com.redhat.thermostat.agent.command=${project.version}, \
+          org.apache.commons.codec=${commons-codec.osgi-version}, \
+          org.jboss.netty=${netty.version}
 
 description = starts and stops the thermostat storage
 
--- a/distribution/config/commands/vm-info.properties	Tue Sep 03 14:18:35 2013 -0400
+++ b/distribution/config/commands/vm-info.properties	Tue Sep 03 17:12:23 2013 -0400
@@ -1,15 +1,15 @@
-bundles = thermostat-client-cli-${project.version}.jar, \
-          thermostat-storage-mongodb-${project.version}.jar, \
-          thermostat-web-common-${project.version}.jar, \
-          thermostat-web-client-${project.version}.jar, \
-          httpcore-osgi-${httpcomponents.version}.jar, \
-          httpclient-osgi-${httpcomponents.version}.jar, \
-          gson-${gson.version}.jar, \
-          mongo-java-driver-${mongo-driver.version}.jar, \
-          commons-beanutils-${commons-beanutils.version}.jar, \
-          commons-codec-${commons-codec.version}.jar, \
-          commons-collections-${commons-collections.version}.jar, \
-          commons-logging-${commons-logging.version}.jar
+bundles = com.redhat.thermostat.client.cli=${project.version}, \
+          com.redhat.thermostat.storage.mongodb=${project.version}, \
+          com.redhat.thermostat.web.common=${project.version}, \
+          com.redhat.thermostat.web.client=${project.version}, \
+          org.apache.httpcomponents.httpcore=${httpcomponents.version}, \
+          org.apache.httpcomponents.httpclient=${httpcomponents.version}, \
+          com.google.gson=${gson.version}, \
+          com.mongodb=${mongo-driver.version}, \
+          org.apache.commons.beanutils=${commons-beanutils.version}, \
+          org.apache.commons.codec=${commons-codec.osgi-version}, \
+          org.apache.commons.collections=${commons-collections.version}, \
+          org.apache.commons.logging=${commons-logging.version}
 
 description = shows basic information about a VM
 
--- a/distribution/config/commands/vm-stat.properties	Tue Sep 03 14:18:35 2013 -0400
+++ b/distribution/config/commands/vm-stat.properties	Tue Sep 03 17:12:23 2013 -0400
@@ -1,15 +1,15 @@
-bundles = thermostat-client-cli-${project.version}.jar, \
-          thermostat-storage-mongodb-${project.version}.jar, \
-          thermostat-web-common-${project.version}.jar, \
-          thermostat-web-client-${project.version}.jar, \
-          httpcore-osgi-${httpcomponents.version}.jar, \
-          httpclient-osgi-${httpcomponents.version}.jar, \
-          gson-${gson.version}.jar, \
-          mongo-java-driver-${mongo-driver.version}.jar, \
-          commons-beanutils-${commons-beanutils.version}.jar, \
-          commons-codec-${commons-codec.version}.jar, \
-          commons-collections-${commons-collections.version}.jar, \
-          commons-logging-${commons-logging.version}.jar
+bundles = com.redhat.thermostat.client.cli=${project.version}, \
+          com.redhat.thermostat.storage.mongodb=${project.version}, \
+          com.redhat.thermostat.web.common=${project.version}, \
+          com.redhat.thermostat.web.client=${project.version}, \
+          org.apache.httpcomponents.httpcore=${httpcomponents.version}, \
+          org.apache.httpcomponents.httpclient=${httpcomponents.version}, \
+          com.google.gson=${gson.version}, \
+          com.mongodb=${mongo-driver.version}, \
+          org.apache.commons.beanutils=${commons-beanutils.version}, \
+          org.apache.commons.codec=${commons-codec.osgi-version}, \
+          org.apache.commons.collections=${commons-collections.version}, \
+          org.apache.commons.logging=${commons-logging.version}
 
 description = show various statistics about a VM
 
--- a/distribution/config/commands/webservice.properties	Tue Sep 03 14:18:35 2013 -0400
+++ b/distribution/config/commands/webservice.properties	Tue Sep 03 17:12:23 2013 -0400
@@ -1,28 +1,28 @@
 # Needs at least one implementing storage back-end (e.g. mongodb),
 # since it builds on top of this implementing back-end.
-bundles = thermostat-web-cmd-@project.version@.jar, \
-          thermostat-web-server-@project.version@.jar, \
-          thermostat-web-common-@project.version@.jar, \
-          thermostat-storage-mongodb-${project.version}.jar, \
-          mongo-java-driver-${mongo-driver.version}.jar, \
-          commons-beanutils-${commons-beanutils.version}.jar, \
-          commons-codec-${commons-codec.version}.jar, \
-          commons-collections-${commons-collections.version}.jar, \
-          commons-logging-${commons-logging.version}.jar, \
-          commons-fileupload-${commons-fileupload.version}.jar, \
-          commons-io-${commons-io.version}.jar, \
-          gson-${gson.version}.jar, \
-          jetty-continuation-${jetty.version}.jar, \
-          jetty-http-${jetty.version}.jar, \
-          jetty-io-${jetty.version}.jar, \
-          jetty-security-${jetty.version}.jar, \
-          jetty-server-${jetty.version}.jar, \
-          jetty-servlet-${jetty.version}.jar, \
-          jetty-util-${jetty.version}.jar, \
-          jetty-webapp-${jetty.version}.jar, \
-          jetty-xml-${jetty.version}.jar, \
-          jetty-plus-${jetty.version}.jar, \
-          jetty-jndi-${jetty.version}.jar, \
+bundles = com.redhat.thermostat.web.cmd=${project.version}, \
+          com.redhat.thermostat.web.server=${project.version}, \
+          com.redhat.thermostat.web.common=${project.version}, \
+          com.redhat.thermostat.storage.mongodb=${project.version}, \
+          com.mongodb=${mongo-driver.version}, \
+          org.apache.commons.beanutils=${commons-beanutils.version}, \
+          org.apache.commons.codec=${commons-codec.osgi-version}, \
+          org.apache.commons.collections=${commons-collections.version}, \
+          org.apache.commons.logging=${commons-logging.version}, \
+          org.apache.commons.fileupload=${commons-fileupload.version}, \
+          org.apache.commons.io=${commons-io.version}, \
+          com.google.gson=${gson.version}, \
+          org.eclipse.jetty.continuation=${jetty.version}, \
+          org.eclipse.jetty.http=${jetty.version}, \
+          org.eclipse.jetty.io=${jetty.version}, \
+          org.eclipse.jetty.security=${jetty.version}, \
+          org.eclipse.jetty.server=${jetty.version}, \
+          org.eclipse.jetty.servlet=${jetty.version}, \
+          org.eclipse.jetty.util=${jetty.version}, \
+          org.eclipse.jetty.webapp=${jetty.version}, \
+          org.eclipse.jetty.xml=${jetty.version}, \
+          org.eclipse.jetty.plus=${jetty.version}, \
+          org.eclipse.jetty.jndi=${jetty.version}, \
           
 
 description = starts and stops the thermostat web service
--- a/launcher/src/main/java/com/redhat/thermostat/launcher/BundleInformation.java	Tue Sep 03 14:18:35 2013 -0400
+++ b/launcher/src/main/java/com/redhat/thermostat/launcher/BundleInformation.java	Tue Sep 03 17:12:23 2013 -0400
@@ -65,7 +65,7 @@
 
     @Override
     public String toString() {
-        return "Bundle[" + name + "=" + version + "]";
+        return "Bundle['" + name + "'='" + version + "']";
     }
 
     @Override
--- a/launcher/src/main/java/com/redhat/thermostat/launcher/BundleManager.java	Tue Sep 03 14:18:35 2013 -0400
+++ b/launcher/src/main/java/com/redhat/thermostat/launcher/BundleManager.java	Tue Sep 03 17:12:23 2013 -0400
@@ -62,13 +62,6 @@
      */
     public abstract void loadBundlesByName(List<BundleInformation> bundles) throws BundleException, IOException;
 
-    /**
-     * Load and start bundles using file locations
-     *
-     * @param uriPaths a list of URI strings that represent on-disk locations of bundles
-     */
-    public abstract void loadBundlesByPath(List<String> uriPaths) throws BundleException, IOException;
-
     public static void preLoadBundles(Framework framework, List<String> bundleLocations,
             boolean printOSGiInfo) throws BundleException {
         BundleLoader loader = new BundleLoader(printOSGiInfo);
--- a/launcher/src/main/java/com/redhat/thermostat/launcher/internal/BasicCommandInfo.java	Tue Sep 03 14:18:35 2013 -0400
+++ b/launcher/src/main/java/com/redhat/thermostat/launcher/internal/BasicCommandInfo.java	Tue Sep 03 17:12:23 2013 -0400
@@ -51,26 +51,14 @@
     private final String usage;
     private final Options options;
     private final Set<Environment> environments;
-    private final List<String> resources;
     private final List<BundleInformation> bundles;
 
-    public BasicCommandInfo(String name, String description, String usage, Options options, Set<Environment> environments, List<String> resources) {
+    public BasicCommandInfo(String name, String description, String usage, Options options, Set<Environment> environments, List<BundleInformation> bundles) {
         this.name = name;
         this.description = description;
         this.usage = usage;
         this.options = options;
         this.environments = environments;
-        this.resources = resources;
-        this.bundles = Collections.emptyList();
-    }
-
-    public BasicCommandInfo(String name, String description, String usage, Options options, Set<Environment> environments, List<String> resources, List<BundleInformation> bundles) {
-        this.name = name;
-        this.description = description;
-        this.usage = usage;
-        this.options = options;
-        this.environments = environments;
-        this.resources = resources;
         this.bundles = bundles;
     }
 
@@ -100,17 +88,12 @@
     }
 
     @Override
-    public List<String> getDependencyResourceNames() {
-        return resources;
-    }
-
-    @Override
     public List<BundleInformation> getBundles() {
         return bundles;
     }
 
     @Override
     public String toString() {
-        return String.format("%s (description='%s', dependencies='%s', bundles='%s')", name, description, resources.toString(), bundles.toString());
+        return String.format("%s (description='%s', dependencies='%s')", name, description, bundles.toString());
     }
 }
--- a/launcher/src/main/java/com/redhat/thermostat/launcher/internal/BuiltInCommandInfo.java	Tue Sep 03 14:18:35 2013 -0400
+++ b/launcher/src/main/java/com/redhat/thermostat/launcher/internal/BuiltInCommandInfo.java	Tue Sep 03 17:12:23 2013 -0400
@@ -36,8 +36,6 @@
 
 package com.redhat.thermostat.launcher.internal;
 
-import java.io.File;
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -75,15 +73,15 @@
     private String name, description, usage;
     private Options options;
     private EnumSet<Environment> environment;
-    private List<String> dependencies;
+    private List<BundleInformation> dependencies;
 
-    BuiltInCommandInfo(String commandName, Properties properties, String libRoot) {
+    BuiltInCommandInfo(String commandName, Properties properties) {
         options = new Options();
         this.name = commandName;
         for (Entry<Object,Object> entry: properties.entrySet()) {
             String key = (String) entry.getKey();
             if (key.equals(PROPERTY_BUNDLES)) {
-                learnDependencies((String) entry.getValue(), libRoot);
+                learnDependencies((String) entry.getValue());
             } else if (key.equals(PROPERTY_DESC)) {
                 description = properties.getProperty(key);
             } else if (key.equals(PROPERTY_USAGE)) {
@@ -96,7 +94,7 @@
         }
     }
 
-    private void learnDependencies(String bundlesValue, String libRoot) {
+    private void learnDependencies(String bundlesValue) {
         List<String> resourceNames = Arrays.asList(bundlesValue.split(","));
         dependencies = new ArrayList<>(resourceNames.size());
         for (String value : resourceNames) {
@@ -104,23 +102,17 @@
             if (resource.length() == 0) {
                 continue;
             }
-            File file = new File(libRoot, value.trim());
-            try {
-                String path = file.getCanonicalFile().toURI().toString();
-                if (!file.exists()) {
-                    logger.severe("Bundle " + path + " required by " + getName() +
-                            " command does not exist in the filesystem.  This will cause" +
-                            " osgi wiring issue when attempting to run this command.");
-                    // Allow to proceed because this command may never be called.
-                } else {
-                    dependencies.add(path);
-                }
-            } catch (IOException e) {
-                logger.severe("Bundle " + file + " required by " + getName() +
-                        " command does not exist in the filesystem.  This will cause" +
-                        " osgi wiring issue when attempting to run this command.");
-                // Allow to proceed because this command may never be called.
+            String[] parts = value.split("=");
+            String name = parts[0].trim();
+            String version = parts[1].trim();
+            // FIXME hack to convert maven-style "-SNAPSHOT" versions to OSGi-style ".SNAPSHOT".
+            // This is because we use ${project.version} for bundle version in our properties file
+            // and that's the maven version, not the OSGi version.
+            if (version != null && version.contains("-")) {
+                version = version.replace("-", ".");
             }
+            BundleInformation info = new BundleInformation(name, version);
+            dependencies.add(info);
         }
     }
 
@@ -388,13 +380,9 @@
         return environment;
     }
 
-    public List<String> getDependencyResourceNames() {
-        return dependencies;
-    }
-
     @Override
     public List<BundleInformation> getBundles() {
-        return Collections.emptyList();
+        return dependencies;
     }
 }
 
--- a/launcher/src/main/java/com/redhat/thermostat/launcher/internal/BuiltInCommandInfoSource.java	Tue Sep 03 14:18:35 2013 -0400
+++ b/launcher/src/main/java/com/redhat/thermostat/launcher/internal/BuiltInCommandInfoSource.java	Tue Sep 03 17:12:23 2013 -0400
@@ -79,7 +79,7 @@
                     logger.warning("Issue loading properties file: " + file.getPath());
                 }
                 String commandName = deduceCommandName(file.getName());
-                commands.put(commandName, new BuiltInCommandInfo(commandName, commandProps, libRoot));
+                commands.put(commandName, new BuiltInCommandInfo(commandName, commandProps));
             }
         } else {
             logger.warning("Command configuration directory not found or not a directory: " + dir.getPath());
--- a/launcher/src/main/java/com/redhat/thermostat/launcher/internal/BundleManagerImpl.java	Tue Sep 03 14:18:35 2013 -0400
+++ b/launcher/src/main/java/com/redhat/thermostat/launcher/internal/BundleManagerImpl.java	Tue Sep 03 17:12:23 2013 -0400
@@ -163,8 +163,8 @@
         loadBundlesByPath(paths);
     }
 
-    @Override
-    public void loadBundlesByPath(List<String> requiredBundles) throws BundleException, IOException {
+    /* package private for testing only */
+    void loadBundlesByPath(List<String> requiredBundles) throws BundleException, IOException {
         Framework framework = getFramework(this.getClass());
         BundleContext context = framework.getBundleContext();
 
--- a/launcher/src/main/java/com/redhat/thermostat/launcher/internal/CommandInfo.java	Tue Sep 03 14:18:35 2013 -0400
+++ b/launcher/src/main/java/com/redhat/thermostat/launcher/internal/CommandInfo.java	Tue Sep 03 17:12:23 2013 -0400
@@ -75,11 +75,5 @@
 
     List<BundleInformation> getBundles();
 
-    /**
-     * Returns a list of jar that this command depends on
-     * @return a list of strings containing the URIs of jars-on-disk
-     */
-    List<String> getDependencyResourceNames();
-
 }
 
--- a/launcher/src/main/java/com/redhat/thermostat/launcher/internal/CompoundCommandInfoSource.java	Tue Sep 03 14:18:35 2013 -0400
+++ b/launcher/src/main/java/com/redhat/thermostat/launcher/internal/CompoundCommandInfoSource.java	Tue Sep 03 17:12:23 2013 -0400
@@ -134,15 +134,12 @@
         String usage = selectBest(info1.getUsage(), info2.getUsage());
         Options options = selectBest(info1.getOptions(), info2.getOptions());
         Set<Environment> environment = selectBest(info1.getEnvironments(), info2.getEnvironments());
-        List<String> resources = new ArrayList<>();
-        resources.addAll(info1.getDependencyResourceNames());
-        resources.addAll(info2.getDependencyResourceNames());
         List<BundleInformation> bundles = new ArrayList<>();
         bundles.addAll(info1.getBundles());
         bundles.addAll(info2.getBundles());
 
 
-        return new BasicCommandInfo(name, description, usage, options, environment, resources, bundles);
+        return new BasicCommandInfo(name, description, usage, options, environment, bundles);
     }
 
     private <T> T selectBest(T first, T second) {
--- a/launcher/src/main/java/com/redhat/thermostat/launcher/internal/LauncherImpl.java	Tue Sep 03 14:18:35 2013 -0400
+++ b/launcher/src/main/java/com/redhat/thermostat/launcher/internal/LauncherImpl.java	Tue Sep 03 17:12:23 2013 -0400
@@ -245,7 +245,6 @@
         }
 
         try {
-            registry.loadBundlesByPath(cmdInfo.getDependencyResourceNames());
             registry.loadBundlesByName(cmdInfo.getBundles());
         } catch (BundleException | IOException e) {
             // If this happens we definitely need to do something about it, and the
--- a/launcher/src/main/java/com/redhat/thermostat/launcher/internal/PluginCommandInfoSource.java	Tue Sep 03 14:18:35 2013 -0400
+++ b/launcher/src/main/java/com/redhat/thermostat/launcher/internal/PluginCommandInfoSource.java	Tue Sep 03 17:12:23 2013 -0400
@@ -144,7 +144,6 @@
                     usage,
                     command.getOptions(),
                     command.getEnvironments(),
-                    Collections.<String>emptyList(),
                     command.getBundles());
 
             allNewCommands.put(commandName, info);
@@ -158,16 +157,15 @@
             Map.Entry<String, List<BundleInformation>> entry = iter.next();
             if (allNewCommands.containsKey(entry.getKey())) {
                 BasicCommandInfo old = allNewCommands.get(entry.getKey());
-                List<BundleInformation> updatedResources = new ArrayList<>();
-                updatedResources.addAll(old.getBundles());
-                updatedResources.addAll(entry.getValue());
+                List<BundleInformation> updatedBundles = new ArrayList<>();
+                updatedBundles.addAll(old.getBundles());
+                updatedBundles.addAll(entry.getValue());
                 BasicCommandInfo updated = new BasicCommandInfo(old.getName(),
                         old.getDescription(),
                         old.getUsage(),
                         old.getOptions(),
                         old.getEnvironments(),
-                        Collections.<String>emptyList(),
-                        updatedResources);
+                        updatedBundles);
                 allNewCommands.put(entry.getKey(), updated);
                 iter.remove();
             }
@@ -181,7 +179,7 @@
         }
         List<BundleInformation> bundles = additionalBundlesForExistingCommands.get(name);
         if (bundles != null) {
-            return new BasicCommandInfo(name, null, null, null, null, Collections.<String>emptyList(), bundles);
+            return new BasicCommandInfo(name, null, null, null, null, bundles);
         }
         throw new CommandInfoNotFoundException(name);
     }
@@ -191,7 +189,7 @@
         List<CommandInfo> result = new ArrayList<>();
         result.addAll(allNewCommands.values());
         for (Entry<String, List<BundleInformation>> entry : additionalBundlesForExistingCommands.entrySet()) {
-            result.add(new BasicCommandInfo(entry.getKey(), null, null, null, null, Collections.<String>emptyList(), entry.getValue()));
+            result.add(new BasicCommandInfo(entry.getKey(), null, null, null, null, entry.getValue()));
         }
         return result;
     }
--- a/launcher/src/test/java/com/redhat/thermostat/launcher/internal/BasicCommandInfoTest.java	Tue Sep 03 14:18:35 2013 -0400
+++ b/launcher/src/test/java/com/redhat/thermostat/launcher/internal/BasicCommandInfoTest.java	Tue Sep 03 17:12:23 2013 -0400
@@ -58,18 +58,17 @@
         final String USAGE = "some-usage";
         final Options OPTIONS = new Options();
         final Set<Environment> ENVIRONMENT = EnumSet.noneOf(Environment.class);
-        final List<String> RESOURCES = Collections.emptyList();
         final List<BundleInformation> BUNDLES = Collections.emptyList();
 
-        BasicCommandInfo info = new BasicCommandInfo(NAME, DESCRIPTION, USAGE, OPTIONS, ENVIRONMENT, RESOURCES);
+        BasicCommandInfo info = new BasicCommandInfo(NAME, DESCRIPTION, USAGE, OPTIONS, ENVIRONMENT, BUNDLES);
 
         assertEquals(NAME, info.getName());
         assertEquals(DESCRIPTION, info.getDescription());
         assertEquals(USAGE, info.getUsage());
         assertEquals(OPTIONS, info.getOptions());
-        assertEquals(RESOURCES, info.getDependencyResourceNames());
+        assertEquals(BUNDLES, info.getBundles());
 
-        assertEquals(String.format("%s (description='%s', dependencies='%s', bundles='%s')", NAME, DESCRIPTION, RESOURCES.toString(), BUNDLES.toString()),
+        assertEquals(String.format("%s (description='%s', dependencies='%s')", NAME, DESCRIPTION, BUNDLES.toString()),
                 info.toString());
     }
 }
--- a/launcher/src/test/java/com/redhat/thermostat/launcher/internal/BuiltInCommandInfoTest.java	Tue Sep 03 14:18:35 2013 -0400
+++ b/launcher/src/test/java/com/redhat/thermostat/launcher/internal/BuiltInCommandInfoTest.java	Tue Sep 03 17:12:23 2013 -0400
@@ -57,46 +57,16 @@
 import org.junit.Before;
 import org.junit.Test;
 
+import com.redhat.thermostat.launcher.BundleInformation;
 import com.redhat.thermostat.shared.locale.Translate;
 
 public class BuiltInCommandInfoTest {
 
-    private Path tempThermostatHome, someJarName1, someJarName2, missingJarName;
-    private File tempLibs;
-
-    @Before
-    public void setUp() throws IOException {
-        tempThermostatHome = Files.createTempDirectory("test");
-        tempThermostatHome.toFile().deleteOnExit();
-        System.setProperty("THERMOSTAT_HOME", tempThermostatHome.toString());
-
-        tempLibs = new File(tempThermostatHome.toFile(), "libs");
-        tempLibs.mkdirs();
-        tempLibs.deleteOnExit();
-
-        File someJar1 = new File(tempLibs, "thermostat-osgi-fluff1.jar");
-        someJar1.createNewFile();
-        someJar1.deleteOnExit();
-        someJarName1 = someJar1.toPath();
-        
-        File someJar2 = new File(tempLibs, "thermostat-osgi-fluff2.jar");
-        someJar2.createNewFile();
-        someJar2.deleteOnExit();
-        someJarName2 = someJar2.toPath();
-
-        File missingJar = new File(tempLibs, "thisjar_noexist.jar");
-        missingJarName = missingJar.toPath();
-    }
-
-    private String resolvedJar(Path jar) {
-        return "file:" + jar.toString();
-    }
-
     @Test
     public void verifyGetName() {
         Properties props = new Properties();
         String name = "name";
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, "");
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
 
         String commandName = info.getName();
         assertEquals(name, commandName);
@@ -105,38 +75,26 @@
     @Test
     public void verifySingleResource() {
         Properties props = new Properties();
-        props.setProperty("bundles", someJarName1.getFileName().toString());
+        props.setProperty("bundles", "bundle1=1");
         String name = "name";
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
 
-        List<String> resources = info.getDependencyResourceNames();
+        List<BundleInformation> resources = info.getBundles();
         assertEquals(1, resources.size());
-        assertTrue(resources.contains(resolvedJar(someJarName1)));
+        assertTrue(resources.contains(new BundleInformation("bundle1", "1")));
     }
 
     @Test
     public void verifyMultipleResources() {
         Properties props = new Properties();
-        props.setProperty("bundles", someJarName1.getFileName() + "," + someJarName2.getFileName());
+        props.setProperty("bundles", "bundle1=1,bundle2=2");
         String name = "name";
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
-
-        List<String> resources = info.getDependencyResourceNames();
-        assertEquals(2, resources.size());
-        assertTrue(resources.contains(resolvedJar(someJarName1)));
-        assertTrue(resources.contains(resolvedJar(someJarName2)));
-    }
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
 
-    @Test
-    public void verifyMissingResource() {
-        Properties props = new Properties();
-        props.setProperty("bundles", missingJarName.getFileName().toString());
-        String name = "name";
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
-
-        List<String> resources = info.getDependencyResourceNames();
-        assertEquals(0, resources.size());
-        assertFalse(resources.contains(resolvedJar(missingJarName)));
+        List<BundleInformation> resources = info.getBundles();
+        assertEquals(2, resources.size());
+        assertTrue(resources.contains(new BundleInformation("bundle1", "1")));
+        assertTrue(resources.contains(new BundleInformation("bundle2", "2")));
     }
 
     @Test
@@ -145,7 +103,7 @@
         String name = "name";
         String desc = "desc";
         props.put("description", desc);
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
 
         String commandDesc = info.getDescription();
         assertEquals(desc, commandDesc);
@@ -157,7 +115,7 @@
         String name = "name";
         String usage = "some sort of usage message";
         props.put("usage", usage);
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
 
         String commandUsage = info.getUsage();
         assertEquals(usage, commandUsage);
@@ -178,7 +136,7 @@
         props.put("bar.hasarg", "FALSE");
         props.put("bar.required", "this will evaluate as false");
         props.put("bar.description", "the bar option");
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
 
         Options options = info.getOptions();
         Option foo = options.getOption("foo");
@@ -202,7 +160,7 @@
         Properties props = new Properties();
         String name = "name";
         props.put("options", "AUTO_DB_OPTIONS");
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
 
         Options options = info.getOptions();
         assertTrue(options.hasOption(CommonOptions.DB_URL_ARG));
@@ -220,7 +178,7 @@
         String name = "name";
         props.put("options", "AUTO_DB_OPTIONS, dbUrl");
         props.put("dbUrl.required", "true");
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
 
         Options options = info.getOptions();
         assertTrue(options.hasOption(CommonOptions.DB_URL_ARG));
@@ -238,7 +196,7 @@
         Properties props = new Properties();
         String name = "name";
         props.put("options", "AUTO_LOG_OPTION");
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
 
         Options options = info.getOptions();
         assertTrue(options.hasOption(CommonOptions.LOG_LEVEL_ARG));
@@ -252,7 +210,7 @@
         props.put("options", "foo|bar");
         props.put("foo.short", "f");
         props.put("bar.short", "b");
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
 
         Options options = info.getOptions();
         Option foo = options.getOption("f");
@@ -274,7 +232,7 @@
         props.put("bar.short", "b");
         props.put("baz.short", "b");
         @SuppressWarnings("unused")
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
     }
 
     @Test(expected=RuntimeException.class)
@@ -285,7 +243,7 @@
         props.put("bar.long", "ba");
         props.put("baz.long", "ba");
         @SuppressWarnings("unused")
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
     }
 
     @Test(expected=RuntimeException.class)
@@ -296,7 +254,7 @@
         props.put("bar.short", "b");
         props.put("baz.short", "b");
         @SuppressWarnings("unused")
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
     }
 
     @Test(expected=RuntimeException.class)
@@ -308,7 +266,7 @@
         props.put("bar.short", "b");
         props.put("baz.short", "b");
         @SuppressWarnings("unused")
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
     }
 
     @Test(expected=RuntimeException.class)
@@ -320,7 +278,7 @@
         props.put("dbUrl.long", "dbUrl");
         props.put("dbUrl.required", "true");
         @SuppressWarnings("unused")
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
     }
 
     @Test(expected=RuntimeException.class)
@@ -332,7 +290,7 @@
         props.put("dbUrl.long", "notDbUrl");
         props.put("dbUrl.required", "true");
         @SuppressWarnings("unused")
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
     }
 
     @Test(expected=RuntimeException.class)
@@ -343,7 +301,7 @@
         props.put("dbUrl.description", "An attempt to cause confusion.");
         props.put("dbUrl.required", "true");
         @SuppressWarnings("unused")
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
     }
 
     @Test
@@ -352,7 +310,7 @@
         String name = "name";
         String env = "cli, shell";
         props.put("environments", env);
-        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props, tempLibs.toString());
+        BuiltInCommandInfo info = new BuiltInCommandInfo(name, props);
 
         Set<Environment> commandEnv = info.getEnvironments();
         assertTrue(commandEnv.contains(Environment.CLI));
--- a/launcher/src/test/java/com/redhat/thermostat/launcher/internal/CompoundCommandInfoSourceTest.java	Tue Sep 03 14:18:35 2013 -0400
+++ b/launcher/src/test/java/com/redhat/thermostat/launcher/internal/CompoundCommandInfoSourceTest.java	Tue Sep 03 17:12:23 2013 -0400
@@ -49,6 +49,8 @@
 import org.junit.Before;
 import org.junit.Test;
 
+import com.redhat.thermostat.launcher.BundleInformation;
+
 
 public class CompoundCommandInfoSourceTest {
 
@@ -101,19 +103,19 @@
         String DESCRIPTION = "test-description";
         String USAGE = "test-usage";
         Options OPTIONS = new Options();
-        List<String> DEPS1 = Arrays.asList("1test1", "1test2");
-        List<String> DEPS2 = Arrays.asList("2test1");
+        List<BundleInformation> DEPS1 = Arrays.asList(new BundleInformation("1test1", "1"), new BundleInformation("1test2", "1"));
+        List<BundleInformation> DEPS2 = Arrays.asList(new BundleInformation("2test1", "1"));
 
         CommandInfo cmdInfo1 = mock(CommandInfo.class);
         when(cmdInfo1.getName()).thenReturn(NAME);
         when(cmdInfo1.getDescription()).thenReturn(DESCRIPTION);
         when(cmdInfo1.getUsage()).thenReturn(USAGE);
         when(cmdInfo1.getOptions()).thenReturn(OPTIONS);
-        when(cmdInfo1.getDependencyResourceNames()).thenReturn(DEPS1);
+        when(cmdInfo1.getBundles()).thenReturn(DEPS1);
 
         CommandInfo cmdInfo2 = mock(CommandInfo.class);
         when(cmdInfo2.getName()).thenReturn(NAME);
-        when(cmdInfo2.getDependencyResourceNames()).thenReturn(DEPS2);
+        when(cmdInfo2.getBundles()).thenReturn(DEPS2);
 
         when(source1.getCommandInfo(NAME)).thenReturn(cmdInfo1);
         when(source2.getCommandInfo(NAME)).thenReturn(cmdInfo2);
@@ -124,9 +126,9 @@
         assertEquals(USAGE, result.getUsage());
         assertEquals(OPTIONS, result.getOptions());
 
-        ArrayList<String> combined = new ArrayList<>(DEPS1);
+        ArrayList<BundleInformation> combined = new ArrayList<>(DEPS1);
         combined.addAll(DEPS2);
-        assertEquals(combined, result.getDependencyResourceNames());
+        assertEquals(combined, result.getBundles());
     }
 
     @Test
--- a/launcher/src/test/java/com/redhat/thermostat/launcher/internal/LauncherImplTest.java	Tue Sep 03 14:18:35 2013 -0400
+++ b/launcher/src/test/java/com/redhat/thermostat/launcher/internal/LauncherImplTest.java	Tue Sep 03 17:12:23 2013 -0400
@@ -76,6 +76,7 @@
 import com.redhat.thermostat.common.cli.CommandRegistry;
 import com.redhat.thermostat.common.config.ClientPreferences;
 import com.redhat.thermostat.common.tools.ApplicationState;
+import com.redhat.thermostat.launcher.BundleInformation;
 import com.redhat.thermostat.launcher.BundleManager;
 import com.redhat.thermostat.launcher.internal.DisallowSystemExitSecurityManager.ExitException;
 import com.redhat.thermostat.launcher.internal.LauncherImpl.LoggingInitializer;
@@ -212,7 +213,7 @@
         CommandInfo helpCommandInfo = mock(CommandInfo.class);
         when(helpCommandInfo.getName()).thenReturn("help");
         when(helpCommandInfo.getDescription()).thenReturn("print help information");
-        when(helpCommandInfo.getDependencyResourceNames()).thenReturn(new ArrayList<String>());
+        when(helpCommandInfo.getBundles()).thenReturn(new ArrayList<BundleInformation>());
         when(helpCommandInfo.getOptions()).thenReturn(new Options());
         when(helpCommandInfo.getUsage()).thenReturn("thermostat help");
         when(helpCommandInfo.getEnvironments()).thenReturn(EnumSet.of(Environment.SHELL, Environment.CLI));
--- a/launcher/src/test/java/com/redhat/thermostat/launcher/internal/TestCommandInfo.java	Tue Sep 03 14:18:35 2013 -0400
+++ b/launcher/src/test/java/com/redhat/thermostat/launcher/internal/TestCommandInfo.java	Tue Sep 03 17:12:23 2013 -0400
@@ -102,11 +102,6 @@
     }
 
     @Override
-    public List<String> getDependencyResourceNames() {
-        return Collections.emptyList();
-    }
-
-    @Override
     public List<BundleInformation> getBundles() {
         return Collections.emptyList();
     }