mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 18:58: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 {
|
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 preReleasePattern = Pattern.compile("([a-zA-Z0-9]+)");
|
||||||
private static Pattern buildNumberPattern = Pattern.compile("(0|[1-9][0-9]*)");
|
private static Pattern buildNumberPattern = Pattern.compile("(0|[1-9][0-9]*)");
|
||||||
private static Pattern buildInformationPattern = Pattern.compile("([-a-zA-Z0-9.]+)");
|
private static Pattern buildInformationPattern = Pattern.compile("([-a-zA-Z0-9.]+)");
|
||||||
@@ -18,6 +18,7 @@ public class RuntimeVersion {
|
|||||||
private int major;
|
private int major;
|
||||||
private int minor;
|
private int minor;
|
||||||
private int securityLevel;
|
private int securityLevel;
|
||||||
|
private int update;
|
||||||
|
|
||||||
private String preReleaseIdentifier;
|
private String preReleaseIdentifier;
|
||||||
private int buildNumber;
|
private int buildNumber;
|
||||||
@@ -32,7 +33,7 @@ public class RuntimeVersion {
|
|||||||
throw new IllegalArgumentException("Improperly formatted version string provided: " + versionString);
|
throw new IllegalArgumentException("Improperly formatted version string provided: " + versionString);
|
||||||
}
|
}
|
||||||
|
|
||||||
String[] versionNumbers = matcher.group().split("\\.");
|
String[] versionNumbers = matcher.group().split("[._]");
|
||||||
|
|
||||||
if (versionNumbers.length >= 1) {
|
if (versionNumbers.length >= 1) {
|
||||||
major = Integer.parseInt(versionNumbers[0]);
|
major = Integer.parseInt(versionNumbers[0]);
|
||||||
@@ -46,6 +47,10 @@ public class RuntimeVersion {
|
|||||||
securityLevel = Integer.parseInt(versionNumbers[2]);
|
securityLevel = Integer.parseInt(versionNumbers[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (versionNumbers.length >= 4) {
|
||||||
|
update = Integer.parseInt(versionNumbers[3]);
|
||||||
|
}
|
||||||
|
|
||||||
if (versionStringPattern1.matcher(versionString).find()) {
|
if (versionStringPattern1.matcher(versionString).find()) {
|
||||||
|
|
||||||
Matcher infoMatcher = preReleasePattern.matcher(versionString);
|
Matcher infoMatcher = preReleasePattern.matcher(versionString);
|
||||||
@@ -109,6 +114,10 @@ public class RuntimeVersion {
|
|||||||
return securityLevel;
|
return securityLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getUpdate() {
|
||||||
|
return update;
|
||||||
|
}
|
||||||
|
|
||||||
public String getPreReleaseIdentifier() {
|
public String getPreReleaseIdentifier() {
|
||||||
return preReleaseIdentifier;
|
return preReleaseIdentifier;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ public enum VSubmenuDownloaders implements IVSubmenu<CSubmenuDownloaders> {
|
|||||||
|
|
||||||
RuntimeVersion javaVersion = RuntimeVersion.of(System.getProperty("java.version"));
|
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