mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
Hopefully actually fix java version checking
This commit is contained in:
@@ -5,7 +5,7 @@ import java.util.regex.Pattern;
|
||||
|
||||
public class RuntimeVersion {
|
||||
|
||||
private static Pattern versionNumberPattern = Pattern.compile("([1-9][0-9]*((\\.0)*\\.[1-9][0-9]*)*)");
|
||||
private static Pattern versionNumberPattern = Pattern.compile("([1-9][0-9]*((\\.0)*\\.[0-9]*)*(_[0-9]+)?)");
|
||||
private static Pattern preReleasePattern = Pattern.compile("([a-zA-Z0-9]+)");
|
||||
private static Pattern buildNumberPattern = Pattern.compile("(0|[1-9][0-9]*)");
|
||||
private static Pattern buildInformationPattern = Pattern.compile("([-a-zA-Z0-9.]+)");
|
||||
@@ -18,6 +18,7 @@ public class RuntimeVersion {
|
||||
private int major;
|
||||
private int minor;
|
||||
private int securityLevel;
|
||||
private int update;
|
||||
|
||||
private String preReleaseIdentifier;
|
||||
private int buildNumber;
|
||||
@@ -32,7 +33,7 @@ public class RuntimeVersion {
|
||||
throw new IllegalArgumentException("Improperly formatted version string provided: " + versionString);
|
||||
}
|
||||
|
||||
String[] versionNumbers = matcher.group().split("\\.");
|
||||
String[] versionNumbers = matcher.group().split("[._]");
|
||||
|
||||
if (versionNumbers.length >= 1) {
|
||||
major = Integer.parseInt(versionNumbers[0]);
|
||||
@@ -46,6 +47,10 @@ public class RuntimeVersion {
|
||||
securityLevel = Integer.parseInt(versionNumbers[2]);
|
||||
}
|
||||
|
||||
if (versionNumbers.length >= 4) {
|
||||
update = Integer.parseInt(versionNumbers[3]);
|
||||
}
|
||||
|
||||
if (versionStringPattern1.matcher(versionString).find()) {
|
||||
|
||||
Matcher infoMatcher = preReleasePattern.matcher(versionString);
|
||||
@@ -109,6 +114,10 @@ public class RuntimeVersion {
|
||||
return securityLevel;
|
||||
}
|
||||
|
||||
public int getUpdate() {
|
||||
return update;
|
||||
}
|
||||
|
||||
public String getPreReleaseIdentifier() {
|
||||
return preReleaseIdentifier;
|
||||
}
|
||||
|
||||
@@ -110,7 +110,7 @@ public enum VSubmenuDownloaders implements IVSubmenu<CSubmenuDownloaders> {
|
||||
|
||||
RuntimeVersion javaVersion = RuntimeVersion.of(System.getProperty("java.version"));
|
||||
|
||||
return javaVersion.getMajor() > 8 || (javaVersion.getMajor() == 8 && javaVersion.getSecurityLevel() >= 101);
|
||||
return javaVersion.getMajor() >= 1 && (javaVersion.getMinor() > 8 || (javaVersion.getMinor() == 8 && javaVersion.getUpdate() >= 101));
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user