Change update checker to do a simpler check which allows more dramatic versions in the future.
This commit is contained in:
parent
2495ea65c3
commit
4a5b47d2e6
@ -9,6 +9,7 @@ import java.io.InputStreamReader;
|
|||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -62,7 +63,6 @@ public class UpdateChecker {
|
|||||||
latestVersion = version;
|
latestVersion = version;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Asks spigot for the version
|
* Asks spigot for the version
|
||||||
*/
|
*/
|
||||||
@ -76,8 +76,8 @@ public class UpdateChecker {
|
|||||||
// Get the input stream, what we receive
|
// Get the input stream, what we receive
|
||||||
try (InputStream input = con.getInputStream()) {
|
try (InputStream input = con.getInputStream()) {
|
||||||
// Read it to string
|
// Read it to string
|
||||||
String version = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8))
|
String version = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)).lines()
|
||||||
.lines().collect(Collectors.joining("\n"));
|
.collect(Collectors.joining("\n"));
|
||||||
|
|
||||||
// If the version is not empty, return it
|
// If the version is not empty, return it
|
||||||
if (!version.isEmpty()) {
|
if (!version.isEmpty()) {
|
||||||
@ -93,10 +93,17 @@ public class UpdateChecker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean isNewerVersion(String currentVersion, String newVersion) {
|
private boolean isNewerVersion(String currentVersion, String newVersion) {
|
||||||
|
// Lets just ignore all this fancy logic, and say that if you're not on the current release, you're outdated!
|
||||||
|
return !currentVersion.replaceAll("(v)|(-SNAPSHOT)", "").equals(newVersion.replaceAll("(v)|(-SNAPSHOT)", ""));
|
||||||
|
|
||||||
|
/*
|
||||||
// Remove 'v' and '-SNAPSHOT' from string, split by decimal points
|
// Remove 'v' and '-SNAPSHOT' from string, split by decimal points
|
||||||
String[] cSplit = currentVersion.replaceAll("(v)|(-SNAPSHOT)", "").split("\\.");
|
String[] cSplit = currentVersion.replaceAll("(v)|(-SNAPSHOT)", "").split("\\.");
|
||||||
String[] nSplit = newVersion.replaceAll("(v)|(-SNAPSHOT)", "").split("\\.");
|
String[] nSplit = newVersion.replaceAll("(v)|(-SNAPSHOT)", "").split("\\.");
|
||||||
|
|
||||||
|
// Lets just ignore all this fancy logic, and say that if you're not on the current release, you're outdated!
|
||||||
|
return !Arrays.equals(cSplit, nSplit);
|
||||||
|
|
||||||
// Iterate over the versions from left to right
|
// Iterate over the versions from left to right
|
||||||
for (int i = 0; i < Math.max(cSplit.length, nSplit.length); i++) {
|
for (int i = 0; i < Math.max(cSplit.length, nSplit.length); i++) {
|
||||||
// If the current version doesn't have the next version, then it's older
|
// If the current version doesn't have the next version, then it's older
|
||||||
@ -134,7 +141,7 @@ public class UpdateChecker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Both versions should be the same, return false as it's not a newer version
|
// Both versions should be the same, return false as it's not a newer version
|
||||||
return false;
|
return false;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -151,8 +158,8 @@ public class UpdateChecker {
|
|||||||
// Get the input stream, what we receive
|
// Get the input stream, what we receive
|
||||||
try (InputStream input = con.getInputStream()) {
|
try (InputStream input = con.getInputStream()) {
|
||||||
// Read it to string
|
// Read it to string
|
||||||
String json = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8))
|
String json = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)).lines()
|
||||||
.lines().collect(Collectors.joining("\n"));
|
.collect(Collectors.joining("\n"));
|
||||||
|
|
||||||
jsonObject = new Gson().fromJson(json, Map.class);
|
jsonObject = new Gson().fromJson(json, Map.class);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user