forked from public-mirrors/HuskSync
Add update checker
parent
f2b5df83c8
commit
4ca8f8a633
@ -0,0 +1,20 @@
|
|||||||
|
package me.william278.husksync.bukkit.util;
|
||||||
|
|
||||||
|
import me.william278.husksync.HuskSyncBukkit;
|
||||||
|
import me.william278.husksync.util.UpdateChecker;
|
||||||
|
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
public class BukkitUpdateChecker extends UpdateChecker {
|
||||||
|
|
||||||
|
private static final HuskSyncBukkit plugin = HuskSyncBukkit.getInstance();
|
||||||
|
|
||||||
|
public BukkitUpdateChecker() {
|
||||||
|
super(plugin.getDescription().getVersion());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void log(Level level, String message) {
|
||||||
|
plugin.getLogger().log(level, message);
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package me.william278.husksync.bukkit;
|
package me.william278.husksync.bukkit.util;
|
||||||
|
|
||||||
import me.william278.husksync.HuskSyncBukkit;
|
import me.william278.husksync.HuskSyncBukkit;
|
||||||
import me.william278.husksync.PlayerData;
|
import me.william278.husksync.PlayerData;
|
@ -0,0 +1,20 @@
|
|||||||
|
package me.william278.husksync.bungeecord.util;
|
||||||
|
|
||||||
|
import me.william278.husksync.HuskSyncBungeeCord;
|
||||||
|
import me.william278.husksync.util.UpdateChecker;
|
||||||
|
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
public class BungeeUpdateChecker extends UpdateChecker {
|
||||||
|
|
||||||
|
private static final HuskSyncBungeeCord plugin = HuskSyncBungeeCord.getInstance();
|
||||||
|
|
||||||
|
public BungeeUpdateChecker(String versionToCheck) {
|
||||||
|
super(versionToCheck);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void log(Level level, String message) {
|
||||||
|
plugin.getLogger().log(level, message);
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package me.william278.husksync;
|
package me.william278.husksync.util;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
@ -0,0 +1,56 @@
|
|||||||
|
package me.william278.husksync.util;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.net.URLConnection;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
public abstract class UpdateChecker {
|
||||||
|
|
||||||
|
private final static int SPIGOT_PROJECT_ID = 97144;
|
||||||
|
|
||||||
|
private final String currentVersion;
|
||||||
|
private String latestVersion;
|
||||||
|
|
||||||
|
public UpdateChecker(String currentVersion) {
|
||||||
|
this.currentVersion = currentVersion;
|
||||||
|
|
||||||
|
try {
|
||||||
|
final URL url = new URL("https://api.spigotmc.org/legacy/update.php?resource=" + SPIGOT_PROJECT_ID);
|
||||||
|
URLConnection urlConnection = url.openConnection();
|
||||||
|
this.latestVersion = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())).readLine();
|
||||||
|
} catch (IOException e) {
|
||||||
|
log(Level.WARNING, "Failed to check for updates: An IOException occurred.");
|
||||||
|
this.latestVersion = "Unknown";
|
||||||
|
} catch (Exception e) {
|
||||||
|
log(Level.WARNING, "Failed to check for updates: An exception occurred.");
|
||||||
|
this.latestVersion = "Unknown";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isUpToDate() {
|
||||||
|
if (latestVersion.equalsIgnoreCase("Unknown")) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return latestVersion.equals(currentVersion);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLatestVersion() {
|
||||||
|
return latestVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCurrentVersion() {
|
||||||
|
return currentVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract void log(Level level, String message);
|
||||||
|
|
||||||
|
public void logToConsole() {
|
||||||
|
if (!isUpToDate()) {
|
||||||
|
log(Level.WARNING, "A new version of HuskSync is available: Version "
|
||||||
|
+ latestVersion + " (Currently running: " + currentVersion + ")");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue