[ 
https://issues.apache.org/jira/browse/LANG-1342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16065494#comment-16065494
 ] 

Simon Spero commented on LANG-1342:
-----------------------------------

Of course, JEP 223 is a little non-semantic-versiony on the semantics of 
specification.version .  A minor version may include non-breaking api changes 
from MR of specifications, but those versions aren't specification versions.


{panel:title=Minor}
$MINOR --- The minor version number, incremented for a minor update release 
that may contain compatible bug fixes, revisions to standard APIs mandated by a 
Maintenance Release of the relevant Platform Specification, and implementation 
features outside the scope of that Specification such as new JDK-specific APIs, 
additional service providers, new garbage collectors, and ports to new hardware 
architectures.

{panel}


*Major (GA)*
{noformat}
  java.version                    1.9.0         9
  java.runtime.version            1.9.0-b100    9+100
  java.vm.version                 1.9.0-b100    9+100
  java.specification.version      1.9           9
  java.vm.specification.version   1.9           9
{noformat}

*Minor #1 (GA)*
{noformat}
  java.version                    1.9.0_20      9.1.2
  java.runtime.version            1.9.0_20-b62  9.1.2+62
  java.vm.version                 1.9.0_20-b62  9.1.2+62
  java.specification.version      1.9           9
  java.vm.specification.version   1.9           9
{noformat}


> 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