mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-29 16:46:45 +01:00
Remove unused dependencies
This commit is contained in:
parent
59fdcd0d92
commit
449c9f9416
@ -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"))
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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")
|
||||
}
|
||||
|
||||
|
@ -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<br>
|
||||
* - Config: settings.yml<br>
|
||||
|
@ -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<BuildInfo, Throwable> 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<ArtifactDescription, Throwable> whenDone) {
|
||||
this.fetchLatestBuildInfo((buildInfo, throwable) -> {
|
||||
if (throwable != null) {
|
||||
whenDone.accept(null, throwable);
|
||||
} else {
|
||||
final Collection<ArtifactDescription> artifacts = buildInfo.getArtifacts();
|
||||
final Optional<ArtifactDescription> 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<UpdateDescription, Throwable> 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;
|
||||
}
|
||||
|
||||
}
|
@ -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-(?<version>[0-9.]+).jar$
|
Loading…
Reference in New Issue
Block a user