Simon Spero created LANG-1342:
---------------------------------

             Summary: JavaVersion is not consistent with JEP-223
                 Key: LANG-1342
                 URL: https://issues.apache.org/jira/browse/LANG-1342
             Project: Commons Lang
          Issue Type: Bug
          Components: lang.*
    Affects Versions: 3.6
            Reporter: Simon Spero
            Priority: Minor


[JEP 223: New Version-String Syntax|http://openjdk.java.net/jeps/223] 
introduces a new syntax for version strings. 
This syntax is sort-of not incompatible with JavaVersion in 3.5, but this is 
likely to change as soon as someone finds a bug in JDK 9 after it's released.  
There is a third specified version number component for security releases. 
Unlike the rest of the full version string, this component is significant for 
ordering, and cannot reliably be mapped to float. 

JEP 223 defines some regular expressions.  It also defines an api class 
(java.lang.Runtime.Version).  This class can't be used directly (since it's new 
with JDK-9), and the  API can't be directly emulated, as it requires 
java.lang.Optional.  However, it's not rocket science  (it is however regular 
expressions, so now you have problems 2.0).    

I'll take a crack at a class implementing JEP-223 Versions and try to get them 
to play with JavaVersion.  

The existing mapping to float is unsuited to minor versions, so there has to be 
some new hackery  for java 9 even for two components.  ( JDK 9.11 should be >  
JDK 9.2 )

Since there's no java minor releases yet, there's a bit of freedom.  If the 
range of minor and patch versions is restricted to values between 0 and 99 
there should be a way to make things work. 

Ideally the floaty stuff can be deprecated for removal before that matters. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to