[
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)