From 449c9f9416e70070907a4f303fca46b160f5ee9a Mon Sep 17 00:00:00 2001 From: NotMyFault Date: Thu, 20 Feb 2020 00:09:44 +0100 Subject: [PATCH] Remove unused dependencies --- Bukkit/build.gradle | 7 - .../bukkit/listeners/PlayerEvents.java | 39 ----- Core/build.gradle | 3 - .../plotsquared/plot/PlotSquared.java | 26 --- .../plotsquared/plot/util/UpdateUtility.java | 157 ------------------ Core/src/main/resources/updater.properties | 8 - 6 files changed, 240 deletions(-) delete mode 100644 Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/UpdateUtility.java delete mode 100644 Core/src/main/resources/updater.properties diff --git a/Bukkit/build.gradle b/Bukkit/build.gradle index 6e2c1e3a8..eb3963461 100644 --- a/Bukkit/build.gradle +++ b/Bukkit/build.gradle @@ -22,7 +22,6 @@ dependencies { implementation("org.spigotmc:spigot-api:1.15.2-R0.1-SNAPSHOT") compile(group: "com.sk89q.worldedit", name: "worldedit-bukkit", version: "7.0.1") compile("io.papermc:paperlib:1.0.2") - compile(group: "com.squareup.retrofit2", name: "retrofit", version: "2.4.0") implementation("net.kyori:text-adapter-bukkit:3.0.3") compile("com.github.MilkBowl:VaultAPI:1.7") { exclude(module: "bukkit") @@ -79,12 +78,6 @@ task copyFiles { shadowJar { dependencies { include(dependency(":Core")) - // update notification stuff - include(dependency("com.github.Sauilitired:Jenkins4J:2.0-SNAPSHOT")) - include(dependency("com.squareup.retrofit2:retrofit:2.4.0")) - include(dependency("com.squareup.okhttp3:okhttp:4.2.2")) - include(dependency("com.squareup.okio:okio:2.4.1")) - include(dependency("org.jetbrains.kotlin:kotlin-stdlib:1.3.61")) include(dependency("io.papermc:paperlib:1.0.2")) include(dependency("net.kyori:text-adapter-bukkit:3.0.3")) } diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/listeners/PlayerEvents.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/listeners/PlayerEvents.java index 69752719f..bd49e4df9 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/listeners/PlayerEvents.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/listeners/PlayerEvents.java @@ -1,8 +1,6 @@ package com.github.intellectualsites.plotsquared.bukkit.listeners; import com.destroystokyo.paper.MaterialTags; -import com.github.intellectualsites.plotsquared.bukkit.BukkitMain; -import com.github.intellectualsites.plotsquared.bukkit.object.BukkitBlockUtil; import com.github.intellectualsites.plotsquared.bukkit.object.BukkitPlayer; import com.github.intellectualsites.plotsquared.bukkit.util.BukkitUtil; import com.github.intellectualsites.plotsquared.plot.PlotSquared; @@ -17,7 +15,6 @@ import com.github.intellectualsites.plotsquared.plot.object.PlotArea; import com.github.intellectualsites.plotsquared.plot.object.PlotHandler; import com.github.intellectualsites.plotsquared.plot.object.PlotId; import com.github.intellectualsites.plotsquared.plot.object.PlotInventory; -import com.github.intellectualsites.plotsquared.plot.object.PlotMessage; import com.github.intellectualsites.plotsquared.plot.object.PlotPlayer; import com.github.intellectualsites.plotsquared.plot.object.StringWrapper; import com.github.intellectualsites.plotsquared.plot.util.EntityUtil; @@ -28,16 +25,13 @@ import com.github.intellectualsites.plotsquared.plot.util.Permissions; import com.github.intellectualsites.plotsquared.plot.util.RegExUtil; import com.github.intellectualsites.plotsquared.plot.util.TaskManager; import com.github.intellectualsites.plotsquared.plot.util.UUIDHandler; -import com.github.intellectualsites.plotsquared.plot.util.UpdateUtility; import com.sk89q.worldedit.bukkit.BukkitAdapter; import com.sk89q.worldedit.world.block.BlockType; -import com.sk89q.worldedit.world.item.ItemType; import io.papermc.lib.PaperLib; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.FluidCollisionMode; import org.bukkit.Material; -import org.bukkit.Tag; import org.bukkit.World; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; @@ -145,7 +139,6 @@ import java.util.Objects; import java.util.Optional; import java.util.Set; import java.util.UUID; -import java.util.function.Supplier; import java.util.regex.Pattern; /** @@ -727,38 +720,6 @@ import java.util.regex.Pattern; } EventUtil.manager.doJoinTask(pp); }, 20); - - if (pp.hasPermission(Captions.PERMISSION_ADMIN_UPDATE_NOTIFICATION.getTranslated()) - && PlotSquared.get().getUpdateUtility() != null) { - final UpdateUtility updateUtility = PlotSquared.get().getUpdateUtility(); - final BukkitMain bukkitMain = BukkitMain.getPlugin(BukkitMain.class); - updateUtility.checkForUpdate(PlotSquared.get().getVersion().versionString(), - ((updateDescription, throwable) -> { - if (throwable != null) { - bukkitMain.getLogger().severe(String - .format("Could not check for update. Reason: %s", - throwable.getMessage())); - } else { - if (updateDescription != null) { - new PlotMessage("-------- ").color("$2") - .text("PlotSquared Update Notification").color("$1") - .text(" --------").color("$2").send(pp); - new PlotMessage("There appears to be a PlotSquared update available!") - .color("$1").send(pp); - new PlotMessage(String.format( - "You are running version %s, the newest available version is %s", - bukkitMain.getPluginVersionString(), - updateDescription.getVersion())).color("$1").send(pp); - new PlotMessage("Update URL").color("$1").text(": ").color("$2") - .text(updateDescription.getUrl()).tooltip("Download update") - .send(pp); - new PlotMessage("-------- ").color("$2") - .text("PlotSquared Update Notification").color("$1") - .text(" --------").color("$2").send(pp); - } - } - })); - } } @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) diff --git a/Core/build.gradle b/Core/build.gradle index 3336066de..6de6f6f40 100644 --- a/Core/build.gradle +++ b/Core/build.gradle @@ -14,9 +14,6 @@ dependencies { testCompileOnly("org.projectlombok:lombok:1.18.8") annotationProcessor("org.projectlombok:lombok:1.18.8") testAnnotationProcessor("org.projectlombok:lombok:1.18.8") - implementation("com.github.Sauilitired:Jenkins4J:2.0-SNAPSHOT") - implementation("com.squareup.okhttp3:okhttp:4.2.2") - implementation("com.squareup.okio:okio:2.4.1") implementation("org.jetbrains.kotlin:kotlin-stdlib:1.3.61") } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotSquared.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotSquared.java index 2512abe83..6fc6bff70 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotSquared.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotSquared.java @@ -49,7 +49,6 @@ import com.github.intellectualsites.plotsquared.plot.util.SetupUtils; import com.github.intellectualsites.plotsquared.plot.util.StringMan; import com.github.intellectualsites.plotsquared.plot.util.TaskManager; import com.github.intellectualsites.plotsquared.plot.util.UUIDHandler; -import com.github.intellectualsites.plotsquared.plot.util.UpdateUtility; import com.github.intellectualsites.plotsquared.plot.util.WorldUtil; import com.github.intellectualsites.plotsquared.plot.util.block.GlobalBlockQueue; import com.github.intellectualsites.plotsquared.plot.util.expiry.ExpireManager; @@ -89,7 +88,6 @@ import java.util.Locale; import java.util.Map; import java.util.Map.Entry; import java.util.Objects; -import java.util.Properties; import java.util.Set; import java.util.UUID; import java.util.function.Consumer; @@ -127,7 +125,6 @@ import java.util.zip.ZipInputStream; @Setter @Getter private ILogger logger; // Platform / Version / Update URL private PlotVersion version; - @Nullable @Getter private UpdateUtility updateUtility; // Files and configuration @Getter private File jarFile = null; // This file private File storageFile; @@ -1641,7 +1638,6 @@ import java.util.zip.ZipInputStream; } } Settings.load(configFile); - setupUpdateUtility(); //Sets the version information for the settings.yml file try (InputStream stream = getClass().getResourceAsStream("/plugin.properties")) { try (BufferedReader br = new BufferedReader(new InputStreamReader(stream))) { @@ -1664,28 +1660,6 @@ import java.util.zip.ZipInputStream; config = YamlConfiguration.loadConfiguration(configFile); } - private void setupUpdateUtility() { - try { - copyFile("updater.properties", "config"); - try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader( - new FileInputStream(new File(new File(this.IMP.getDirectory(), "config"), - "updater.properties"))))) { - final Properties properties = new Properties(); - properties.load(bufferedReader); - final boolean enabled = - Boolean.parseBoolean(properties.getOrDefault("enabled", true).toString()); - if (enabled) { - this.updateUtility = new UpdateUtility(properties.getProperty("path"), - properties.getProperty("job"), properties.getProperty("artifact")); - } - } catch (final IOException throwable) { - throwable.printStackTrace(); - } - } catch (final Throwable throwable) { - throwable.printStackTrace(); - } - } - /** * Setup all configuration files
* - Config: settings.yml
diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/UpdateUtility.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/UpdateUtility.java deleted file mode 100644 index 0ad79b41b..000000000 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/UpdateUtility.java +++ /dev/null @@ -1,157 +0,0 @@ -package com.github.intellectualsites.plotsquared.plot.util; - -import lombok.Getter; -import lombok.NonNull; -import lombok.RequiredArgsConstructor; -import org.incendo.jenkins.Jenkins; -import org.incendo.jenkins.objects.ArtifactDescription; -import org.incendo.jenkins.objects.BuildInfo; - -import java.util.Collection; -import java.util.Optional; -import java.util.function.BiConsumer; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class UpdateUtility { - - private final String jobName; - private final Pattern artifactPattern; - - private final Jenkins jenkins; - - public UpdateUtility(@NonNull final String jenkinsPath, @NonNull final String jobName, - @NonNull final String artifactPattern) { - this.jobName = jobName; - this.artifactPattern = Pattern.compile(artifactPattern); - this.jenkins = Jenkins.newBuilder().withPath(jenkinsPath).build(); - } - - private void fetchLatestBuildInfo(final BiConsumer whenDone) { - this.jenkins.getJobInfo(jobName).whenCompleteAsync((jobInfo, exception) -> { - if (jobInfo == null && exception != null) { - whenDone.accept(null, exception); - } else if (jobInfo != null) { - jobInfo.getLastSuccessfulBuild().getBuildInfo().whenComplete(whenDone); - } else { - whenDone.accept(null, new IllegalStateException( - String.format("Could not fetch job info for job %s", this.jobName))); - } - }); - } - - private void getMatchingArtifact(final BiConsumer whenDone) { - this.fetchLatestBuildInfo((buildInfo, throwable) -> { - if (throwable != null) { - whenDone.accept(null, throwable); - } else { - final Collection artifacts = buildInfo.getArtifacts(); - final Optional artifact = - artifacts.stream().filter(artifactDescription -> { - final String name = artifactDescription.getFileName(); - final Matcher matcher = artifactPattern.matcher(name); - return matcher.matches(); - }).findAny(); - if (artifact.isPresent()) { - final ArtifactDescription artifactDescription = artifact.get(); - whenDone.accept(artifactDescription, null); - } else { - whenDone.accept(null, new NullPointerException(String - .format("Could not find any matching artifacts in build %d", - buildInfo.getId()))); - } - } - }); - } - - public void checkForUpdate(final String currentVersion, - final BiConsumer whenDone) { - this.getMatchingArtifact(((artifactDescription, throwable) -> { - if (throwable != null) { - whenDone.accept(null, new RuntimeException(String - .format("Failed to read artifact description: %s", throwable.getMessage()), - throwable)); - } else { - try { - final String version = this.isNewer(currentVersion, artifactDescription); - if (version != null) { - whenDone - .accept(new UpdateDescription(version, artifactDescription.getUrl()), - null); - } else { - whenDone.accept(null, null); - } - } catch (final Throwable exception) { - whenDone.accept(null, new RuntimeException( - String.format("Failed to compare versions: %s", exception.getMessage()), - exception)); - } - } - })); - } - - private String isNewer(@NonNull final String currentVersion, - @NonNull final ArtifactDescription artifact) { - final Matcher matcher = artifactPattern.matcher(artifact.getFileName()); - if (!matcher.matches()) { - throw new IllegalArgumentException( - "Artifact file name does not match artifact pattern"); - } - final String version = matcher.group("version"); - if (version == null) { - throw new IllegalArgumentException("Given artifact does not contain version"); - } - return compareVersions(currentVersion, version) < 0 ? version : null; - } - - /** - * Compare two given versions in the format $major.$minor - * - * @param oldVersion current version - * @param newVersion other version - * @return -1 if the current version is older, 1 is the versions are the same, - * and 1 if the current version is newer - */ - private int compareVersions(@NonNull final String oldVersion, - @NonNull final String newVersion) { - // Versions look this this: major.minor :P - final int[] oldNums = splitVersion(oldVersion); - final int[] newNums = splitVersion(newVersion); - - if (oldNums == null || newNums == null) { - throw new IllegalArgumentException("Could not extract version data"); - } - - // Compare major version - if (oldNums[0] != -1 && newNums[0] != -1) { - if (oldNums[0] < newNums[0]) { - return -1; - } else if (oldNums[0] > newNums[0]) { - return 1; - } - } - - // Compare minor versions - return Integer.compare(oldNums[1], newNums[1]); - } - - private int[] splitVersion(@NonNull final String versionString) { - final String[] parts = versionString.split("\\."); - switch (parts.length) { - case 0: - return new int[] {-1, -1}; - case 1: - return new int[] {-1, Integer.parseInt(parts[0])}; - case 2: - return new int[] {Integer.parseInt(parts[0]), Integer.parseInt(parts[1])}; - default: - return null; - } - } - - @Getter @RequiredArgsConstructor public static class UpdateDescription { - private final String version; - private final String url; - } - -} diff --git a/Core/src/main/resources/updater.properties b/Core/src/main/resources/updater.properties deleted file mode 100644 index 19ef0aed6..000000000 --- a/Core/src/main/resources/updater.properties +++ /dev/null @@ -1,8 +0,0 @@ -# Whether update notifications are enabled -enabled=true -# CI path -path=https://ci.athion.net/ -# Job name -job=PlotSquared-Releases -# Artifact pattern -artifact=^PlotSquared-Bukkit-(?[0-9.]+).jar$