Arnaud Quiblier wrote:
The 'normalizeOSVersion(...)' is only used to normalize the version of the
underlying OS, which you get back reading the value of jvm property '
os.version'. But the standardized org.osgi.framework.Version can only parse version like major.minor.micro.qualifier, where all but qualifier are int, and qualifier is text. In other words, I can't call parseVersion(), cause it
won't compute the given example 2.4.2-kwt.

So what should I do :

Just assume <w>.<x>.<y><z> pattern and stop parsing as soon as it fails and return what you have. This should be fine for now.

- What should I return if I can't parse Version ? null, emptyVersion and /
or Exception ?

We can try emptyVersion for now.

- To pase the version, I need of course to know the separator between parts of version. The "." used in Version.parseVersion() is declared as "constant" but is not visible ? Should I change it, add a new value to FelixConstants,
only use a local definition for separator ? (it's a matter of maintenance
and evolution)

Declare it locally for now.

2/ modify org.osgi.framework.Version in order to parse this kind of Version. I can easily change the parser, but now I can't read the parsed version as
String without qualifier. So I think that I would be doomed to modify the
API of Version, and that's surely unwanted.

I wouldn't recommend it.

-> richard

Reply via email to