1. Currently, the only way to determine
the version is to look at the serviceconfig.xml file. I think it is reasonable
to have a feature opened to add the -version functionality.
2. Programmatically, there is a way
to query the RAServer/plugins versions starting from Hyades 3.0.1. Below
is a simple example for querying the "o.e.h.datacollection" version.
This can also be used to query any <Option> defined inside any pluginconfig.xml
file.
public class TestPropertyListFromClient
{
public
static void main(String[] args) {
String hostname = "purple";
int port = 10002;
String name = "org.eclipse.hyades.datacollection";
// Include all <Option> with name this name
String type = "version"; // Include
all <Option> with this type
Before I file a feature request about
this, I thought I should ask whether
there's already a solution available that I just haven't stumbled across:
1. How does a user of RAServer determine what version it is?
2. How does a client dependent on RAServer determine what version it is
talking to?
I am speaking of versioning here in the sense of 3.0 vs. 3.0.1 vs. 3.1,
etc. As a provider of software on top of the platform, I need to be able
to tell my customers (or have my client software verify) what version of
RAServer they should be running. Think of it as a support issue.
1. It does not appear that RAServer responds to something like -version.
Is there a way ask this question from the command line? In fact, the only
way I could see to determine what version is on disk was looking at the
version attribute in the serviceconfig.xml. This seems a little obscure.
2. As a plugin provider, it would be useful to determine whether or not
the RAServer I'm talking to is the version I'm compatible with. We had
an
incident recently where someone inadvertently ended up using a Hyades 3.0
based workbench with a pre-3.0 RAServer. 3.0 is backward compatible, so
the old stuff all still worked, but of course anything dependent on new
functionality (like the agent extensions) did not. This was quite
mystifying for the user. We could have headed off the confusion by
catching this incompatibility during profiling launch and complaining to
the user.
Is there already a way to detect this in the workbench, using the current
(3.0(.1)) interfaces?
Thanks.
-Kim
Kim Coleman
PurifyPlus Development
IBM Rational Software, Cupertino, CA
kcoleman@xxxxxxxxxx