[JENKINS-55980] - Switch Java Specification Version comparison in the core to a robust implementation.

After the change all Java Specification Version comparison operations are robust against comparison of old and new Java spec version formats
See https://openjdk.java.net/jeps/223 for the new format
This commit is contained in:
Oleg Nenashev committed 2019-02-05 18:16:25 +01:00
1 parent adff325070
commit 9a146147c4
5 files changed
+14 -10

No files matched your search

+3 -2
View File
@@ -33,6 +33,7 @@ import hudson.model.ModelObject;
import hudson.model.UpdateCenter;
import hudson.model.UpdateSite;
import hudson.util.VersionNumber;
import io.jenkins.lib.versionnumber.JavaSpecificationVersion;
import jenkins.YesNoMaybe;
import jenkins.model.Jenkins;
import jenkins.util.java.JavaUtils;
@@ -763,8 +764,8 @@ public class PluginWrapper implements Comparable<PluginWrapper>, ModelObject {
String minimumJavaVersion = getMinimumJavaVersion();
if (minimumJavaVersion != null) {
VersionNumber actualVersion = JavaUtils.getCurrentJavaRuntimeVersionNumber();
if (actualVersion.isOlderThan(new VersionNumber(minimumJavaVersion))) {
JavaSpecificationVersion actualVersion = JavaUtils.getCurrentJavaRuntimeVersionNumber();
if (actualVersion.isOlderThan(new JavaSpecificationVersion(minimumJavaVersion))) {
versionDependencyError(Messages.PluginWrapper_obsoleteJava(actualVersion.toString(), minimumJavaVersion), actualVersion.toString(), minimumJavaVersion);
}
}