mirror of
https://github.com/AppleDash/SaneEconomy.git
synced 2024-11-25 11:35:33 +01:00
Version checker improved + locale-override option
This commit is contained in:
parent
ca13e9a810
commit
31d311c229
@ -13,6 +13,7 @@ import org.appledash.sanelib.command.SaneCommand;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.logging.Logger;
|
||||
@ -49,6 +50,10 @@ public class SaneEconomy extends SanePlugin implements ISaneEconomy {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.getConfig().getBoolean("locale-override", false)) {
|
||||
Locale.setDefault(Locale.ENGLISH);
|
||||
}
|
||||
|
||||
loadCommands();
|
||||
loadListeners();
|
||||
|
||||
|
@ -13,9 +13,10 @@ import org.appledash.saneeconomy.utils.WebUtils;
|
||||
public class GithubVersionChecker {
|
||||
public static final String DOWNLOAD_URL = "https://github.com/AppleDash/SaneEconomy/releases";
|
||||
private static final String RELEASES_URL = "https://api.github.com/repos/AppleDash/SaneEconomy/releases";
|
||||
private static String newestFound;
|
||||
|
||||
private boolean updateChecked;
|
||||
private boolean updateAvailable;
|
||||
private static String newestVersion;
|
||||
private final String pluginName;
|
||||
private final String currentVersion;
|
||||
|
||||
@ -29,9 +30,8 @@ public class GithubVersionChecker {
|
||||
|
||||
JsonArray array = (JsonArray)new JsonParser().parse(jsonContent);
|
||||
|
||||
int currentVersion = releaseToInt(this.currentVersion);
|
||||
int newestVersion = -1;
|
||||
// JsonObject newestObj = null;
|
||||
String currentVersion = this.currentVersion;
|
||||
String newestFound = null;
|
||||
|
||||
for (JsonElement elem : array) {
|
||||
if (elem instanceof JsonObject) {
|
||||
@ -49,22 +49,16 @@ public class GithubVersionChecker {
|
||||
}
|
||||
|
||||
String versionStr = releaseObj.get("tag_name").getAsString();
|
||||
int version = releaseToInt(versionStr);
|
||||
|
||||
if (version > newestVersion) {
|
||||
newestVersion = version;
|
||||
GithubVersionChecker.newestVersion = versionStr;
|
||||
// newestObj = releaseObj;
|
||||
if (VersionComparer.isSemVerGreaterThan(newestFound, versionStr)) {
|
||||
newestFound = versionStr;
|
||||
GithubVersionChecker.newestFound = versionStr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
updateChecked = true;
|
||||
updateAvailable = newestVersion > currentVersion;
|
||||
}
|
||||
|
||||
private int releaseToInt(String release) {
|
||||
return Integer.valueOf(release.trim().replace(".", ""));
|
||||
updateAvailable = VersionComparer.isSemVerGreaterThan(currentVersion, newestFound);
|
||||
}
|
||||
|
||||
public boolean isUpdateAvailable() {
|
||||
@ -72,6 +66,6 @@ public class GithubVersionChecker {
|
||||
}
|
||||
|
||||
public String getNewestVersion() {
|
||||
return newestVersion;
|
||||
return newestFound;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,36 @@
|
||||
package org.appledash.saneeconomy.updates;
|
||||
|
||||
/**
|
||||
* Created by appledash on 7/15/17.
|
||||
* Blackjack is best pony.
|
||||
*/
|
||||
public class VersionComparer {
|
||||
public static boolean isSemVerGreaterThan(String first, String second) {
|
||||
if (first == null) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (second == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
int[] firstParts = intifyParts(first);
|
||||
int[] secondParts = intifyParts(second);
|
||||
|
||||
if (secondParts[0] > firstParts[0]) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (secondParts[1] > firstParts[1]) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return secondParts[2] > firstParts[2];
|
||||
}
|
||||
|
||||
private static int[] intifyParts(String version) {
|
||||
String[] firstParts = version.split("\\.");
|
||||
|
||||
return new int[] { Integer.valueOf(firstParts[0]), Integer.valueOf(firstParts[1]), Integer.valueOf(firstParts[2]) };
|
||||
}
|
||||
}
|
@ -18,4 +18,5 @@ economy:
|
||||
notify-start-balance: true
|
||||
server-account: '$SERVER$'
|
||||
|
||||
locale-override: false
|
||||
debug: false
|
||||
|
@ -0,0 +1,19 @@
|
||||
package org.appledash.saneeconomy.test;
|
||||
|
||||
import org.appledash.saneeconomy.updates.VersionComparer;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
* Created by appledash on 7/15/17.
|
||||
* Blackjack is best pony.
|
||||
*/
|
||||
public class VersionComparerTest {
|
||||
@Test
|
||||
public void testVersionComparer() {
|
||||
Assert.assertTrue(VersionComparer.isSemVerGreaterThan("0.12.6", "1.0.0"));
|
||||
Assert.assertFalse(VersionComparer.isSemVerGreaterThan("2.0.0", "1.0.0"));
|
||||
Assert.assertTrue(VersionComparer.isSemVerGreaterThan("0.1.0", "0.2.0"));
|
||||
Assert.assertTrue(VersionComparer.isSemVerGreaterThan("1.0.0", "2.0.0"));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user