From 0be3ad32a0a0c516881a63c9cc48e01d5f03eb19 Mon Sep 17 00:00:00 2001 From: Rubenicos <44579213+Rubenicos@users.noreply.github.com> Date: Sun, 17 Apr 2022 10:30:21 -0600 Subject: [PATCH] Better library loader --- bridge/velocity/build.gradle | 8 +- .../java/com/saicone/uclansync/UClanSync.java | 9 ++ build.gradle | 31 +++- gradle.properties | 2 +- jar/build.gradle | 25 ---- messenger/rabbitmq/build.gradle | 22 --- messenger/redis/build.gradle | 24 --- settings.gradle | 8 +- .../java/com/saicone/uclansync/UClanSync.java | 79 ++-------- .../messenger/type/RabbitMQMessenger.java | 4 - .../core/messenger/type/RedisMessenger.java | 4 - .../uclansync/module/LibraryLoader.java | 52 +++++++ .../uclansync/module/library/Library.java | 136 ----------------- .../module/library/LibraryLoader.java | 137 ------------------ src/main/resources/settings.yml | 33 +---- 15 files changed, 109 insertions(+), 465 deletions(-) delete mode 100644 jar/build.gradle delete mode 100644 messenger/rabbitmq/build.gradle delete mode 100644 messenger/redis/build.gradle rename {messenger/rabbitmq/src => src}/main/java/com/saicone/uclansync/core/messenger/type/RabbitMQMessenger.java (98%) rename {messenger/redis/src => src}/main/java/com/saicone/uclansync/core/messenger/type/RedisMessenger.java (98%) create mode 100644 src/main/java/com/saicone/uclansync/module/LibraryLoader.java delete mode 100644 src/main/java/com/saicone/uclansync/module/library/Library.java delete mode 100644 src/main/java/com/saicone/uclansync/module/library/LibraryLoader.java diff --git a/bridge/velocity/build.gradle b/bridge/velocity/build.gradle index 3cb9b93..dbf84ea 100644 --- a/bridge/velocity/build.gradle +++ b/bridge/velocity/build.gradle @@ -38,7 +38,8 @@ dependencies { exclude group: 'aopalliance', module: 'aopalliance' exclude group: 'javax.inject', module: 'javax.inject' } - implementation 'com.github.Osiris-Team:Dyml:9.4.0' + implementation 'com.saicone.ezlib:ezlib:1.1' + compileOnly 'com.github.Osiris-Team:Dyml:9.4.0' } jar { @@ -50,7 +51,6 @@ jar { shadowJar { archiveBaseName.set('UClanSync-Velocity') archiveClassifier.set('') - relocate 'com.osiris.dyml', 'com.saicone.uclansync.libs.dyml' - relocate 'org.jetbrains.annotations', 'com.saicone.uclansync.libs.annotations' - minimize() + relocate 'com.saicone.ezlib', project.group + '.lib.ezlib' + relocate 'com.osiris.dyml', project.group + '.lib.dyml' } \ No newline at end of file diff --git a/bridge/velocity/src/main/java/com/saicone/uclansync/UClanSync.java b/bridge/velocity/src/main/java/com/saicone/uclansync/UClanSync.java index 7dffdf8..560dad5 100644 --- a/bridge/velocity/src/main/java/com/saicone/uclansync/UClanSync.java +++ b/bridge/velocity/src/main/java/com/saicone/uclansync/UClanSync.java @@ -1,6 +1,7 @@ package com.saicone.uclansync; import com.google.inject.Inject; +import com.saicone.ezlib.Ezlib; import com.saicone.uclansync.module.MainCommand; import com.saicone.uclansync.module.Settings; import com.saicone.uclansync.module.VelocityListener; @@ -12,9 +13,12 @@ import com.velocitypowered.api.proxy.ProxyServer; import org.slf4j.Logger; +import java.io.File; import java.io.IOException; import java.nio.file.Path; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Plugin(id = "UClanSync", name = "Ultimate Clans Sync", version = "${version}", authors = "Rubenicos") public class UClanSync { @@ -30,6 +34,7 @@ public static Settings getSettings() { return settings; } + private Ezlib ezlib; private final ProxyServer proxy; private final Logger logger; private final Path dataDirectory; @@ -40,6 +45,10 @@ public static Settings getSettings() { @Inject public UClanSync(ProxyServer server, Logger logger, @DataDirectory Path dataDirectory) { instance = this; + Map relocations = new HashMap<>(); + relocations.put(new StringBuilder("com").append(".osiris.dyml").toString(), "com.saicone.uclansync.lib.dyml"); + ezlib = new Ezlib(new File(dataDirectory.toFile(), "libs")); + ezlib.load("com.github.Osiris-Team:Dyml:9.4.0", "https://jitpack.io", relocations, true); settings = new Settings(dataDirectory.toFile(), "settings.yml", "${version}", true); this.proxy = server; this.logger = logger; diff --git a/build.gradle b/build.gradle index 780f4f7..3a58d6e 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'com.github.johnrengelman.shadow' version '7.1.2' apply false + id 'com.github.johnrengelman.shadow' version '7.1.2' } allprojects { @@ -11,6 +11,7 @@ allprojects { url 'http://ptms.ink:8081/repository/releases/' allowInsecureProtocol true } + maven { url 'https://jitpack.io' } mavenCentral() } @@ -34,12 +35,32 @@ dependencies { compileOnly 'ink.ptms.core:v11802:11802:universal' compileOnly 'ink.ptms.core:v11701:11701:universal' + implementation 'com.saicone.ezlib:ezlib:1.1' + + compileOnly ('redis.clients:jedis:4.2.0') { + exclude group: 'com.google.code.gson', module: 'gson' + exclude group: 'org.json', module: 'json' + exclude group: 'org.slf4j', module: 'slf4j-api' + } + compileOnly ('com.rabbitmq:amqp-client:5.14.2') { + exclude group: 'org.slf4j', module: 'slf4j-api' + } + compileOnly fileTree(dir: 'libs', includes: ['*.jar']) +} - testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' +jar { + enabled = false + dependsOn (shadowJar) } -test { - useJUnitPlatform() +shadowJar { + archiveClassifier.set('') + relocate 'com.saicone.ezlib', project.group + '.lib.ezlib' + relocate 'com.google.gson', project.group + '.lib.gson' + relocate 'org.apache.commons.pool2', project.group + '.lib.pool2' + relocate 'org.json', project.group + '.lib.json' + relocate 'org.slf4j', project.group + '.lib.slf4j' + relocate 'redis.clients.jedis', project.group + '.lib.jedis' + relocate 'com.rabbitmq', project.group + '.lib.rabbitmq' } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index eaeceba..2f3ae70 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ group=com.saicone.uclansync -version=1.1.3 \ No newline at end of file +version=1.2.0-SNAPSHOT \ No newline at end of file diff --git a/jar/build.gradle b/jar/build.gradle deleted file mode 100644 index 7820edd..0000000 --- a/jar/build.gradle +++ /dev/null @@ -1,25 +0,0 @@ -plugins { - id 'com.github.johnrengelman.shadow' -} - -dependencies { - implementation rootProject - compileOnly project(':messenger:rabbitmq') - compileOnly project(':messenger:redis') -} - -jar { - enabled = false - dependsOn (shadowJar) -} - -shadowJar { - archiveBaseName.set('UClanSync') - archiveClassifier.set('') - from { - project(':messenger:rabbitmq').tasks.shadowJar.archiveFile - } - from { - project(':messenger:redis').tasks.shadowJar.archiveFile - } -} \ No newline at end of file diff --git a/messenger/rabbitmq/build.gradle b/messenger/rabbitmq/build.gradle deleted file mode 100644 index 3eb6836..0000000 --- a/messenger/rabbitmq/build.gradle +++ /dev/null @@ -1,22 +0,0 @@ -plugins { - id 'com.github.johnrengelman.shadow' -} - -dependencies { - compileOnly rootProject - - compileOnly 'ink.ptms.core:v11802:11802:universal' - compileOnly 'ink.ptms.core:v11701:11701:universal' - - compileOnly ('com.rabbitmq:amqp-client:5.14.2') { - exclude group: 'org.slf4j', module: 'slf4j-api' - } -} - -jar { - dependsOn (shadowJar) -} - -shadowJar { - archiveFileName = 'rabbitmq-messenger.compiled' -} \ No newline at end of file diff --git a/messenger/redis/build.gradle b/messenger/redis/build.gradle deleted file mode 100644 index fb85898..0000000 --- a/messenger/redis/build.gradle +++ /dev/null @@ -1,24 +0,0 @@ -plugins { - id 'com.github.johnrengelman.shadow' -} - -dependencies { - compileOnly rootProject - - compileOnly 'ink.ptms.core:v11802:11802:universal' - compileOnly 'ink.ptms.core:v11701:11701:universal' - - compileOnly ('redis.clients:jedis:4.2.0') { - exclude group: 'com.google.code.gson', module: 'gson' - exclude group: 'org.json', module: 'json' - exclude group: 'org.slf4j', module: 'slf4j-api' - } -} - -jar { - dependsOn (shadowJar) -} - -shadowJar { - archiveFileName = 'redis-messenger.compiled' -} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 30f4f35..853cbda 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,9 +1,3 @@ rootProject.name = 'UClanSync' -include( - 'bridge:bungee', - 'bridge:velocity', - 'messenger:rabbitmq', - 'messenger:redis', - 'jar' -) \ No newline at end of file +include('bridge:bungee', 'bridge:velocity') \ No newline at end of file diff --git a/src/main/java/com/saicone/uclansync/UClanSync.java b/src/main/java/com/saicone/uclansync/UClanSync.java index 7edc228..618be50 100644 --- a/src/main/java/com/saicone/uclansync/UClanSync.java +++ b/src/main/java/com/saicone/uclansync/UClanSync.java @@ -2,10 +2,12 @@ import com.saicone.uclansync.core.ClanUpdater; import com.saicone.uclansync.core.messenger.Messenger; +import com.saicone.uclansync.core.messenger.type.RabbitMQMessenger; +import com.saicone.uclansync.core.messenger.type.RedisMessenger; import com.saicone.uclansync.module.Locale; import com.saicone.uclansync.module.SettingsFile; import com.saicone.uclansync.module.command.CommandLoader; -import com.saicone.uclansync.module.library.LibraryLoader; +import com.saicone.uclansync.module.LibraryLoader; import com.saicone.uclansync.module.listener.BukkitListener; import com.saicone.uclansync.util.Proxy; import me.ulrich.clans.Clans; @@ -13,15 +15,6 @@ import me.ulrich.clans.data.ClanEnum; import org.bukkit.Bukkit; -import java.io.File; -import java.io.InputStream; -import java.net.URL; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.StandardCopyOption; -import java.util.ArrayList; -import java.util.List; - public class UClanSync extends Addon { private static UClanSync instance; @@ -51,19 +44,17 @@ public void onLoad() { SETTINGS.load(this).onReload(); Locale.INSTANCE.load(this); if (isEnabled()) { - libraryLoader = new LibraryLoader( - new File(getAddonDataFolder(), "libs"), - getMessengers("rabbitmq", "redis"), - getClassLoader()); - if (libraryLoader.load(SETTINGS.getConfigurationSection("Libraries.Redis"))) { - libraryLoader.init("com.saicone.uclansync.core.messenger.type.RedisMessenger"); - } else { - Locale.log(2, "Redis messenger will not be loaded"); + libraryLoader = new LibraryLoader(); + libraryLoader.load(); + try { + Messenger.PROVIDERS.put("redis", RedisMessenger.class); + } catch (Throwable t) { + Messenger.PROVIDERS.remove("redis"); } - if (libraryLoader.load(SETTINGS.getConfigurationSection("Libraries.RabbitMQ"))) { - libraryLoader.init("com.saicone.uclansync.core.messenger.type.RabbitMQMessenger"); - } else { - Locale.log(2, "RabbitMQ messenger will not be loaded"); + try { + Messenger.PROVIDERS.put("rabbitmq", RabbitMQMessenger.class); + } catch (Throwable t) { + Messenger.PROVIDERS.remove("rabbitmq"); } } else { return; @@ -105,9 +96,6 @@ public void onDisable() { if (clanUpdater != null) { clanUpdater.onDisable(); } - if (libraryLoader != null) { - libraryLoader.close(); - } } public void onReload() { @@ -122,45 +110,4 @@ public void onReload() { public ClanUpdater getClanUpdater() { return clanUpdater; } - - private URL[] getMessengers(String... names) { - List urls = new ArrayList<>(); - for (String name : names) { - URL url = getMessenger(name); - if (url != null) { - urls.add(url); - } - } - return urls.toArray(new URL[0]); - } - - private URL getMessenger(String name) { - URL url = getClassLoader().getResource(name + "-messenger.compiled"); - if (url == null) { - Bukkit.getConsoleSender().sendMessage("[UClanSync] The " + name + " addon was not found inside .jar"); - return null; - } - - Path path; - try { - path = Files.createTempFile("uclansync-" + name + "-messenger", ".jar.tmp"); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - path.toFile().deleteOnExit(); - - try (InputStream in = url.openStream()) { - Files.copy(in, path, StandardCopyOption.REPLACE_EXISTING); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - - try { - return path.toUri().toURL(); - } catch (Exception e) { - return null; - } - } } diff --git a/messenger/rabbitmq/src/main/java/com/saicone/uclansync/core/messenger/type/RabbitMQMessenger.java b/src/main/java/com/saicone/uclansync/core/messenger/type/RabbitMQMessenger.java similarity index 98% rename from messenger/rabbitmq/src/main/java/com/saicone/uclansync/core/messenger/type/RabbitMQMessenger.java rename to src/main/java/com/saicone/uclansync/core/messenger/type/RabbitMQMessenger.java index 56a857e..bcd5c05 100644 --- a/messenger/rabbitmq/src/main/java/com/saicone/uclansync/core/messenger/type/RabbitMQMessenger.java +++ b/src/main/java/com/saicone/uclansync/core/messenger/type/RabbitMQMessenger.java @@ -13,10 +13,6 @@ public class RabbitMQMessenger extends Messenger implements DeliverCallback { - static { - Messenger.PROVIDERS.put("rabbitmq", RabbitMQMessenger.class); - } - private String exchange = UClanSync.SETTINGS.getString("Messenger.RabbitMQ.exchange", "uclansync"); private ConnectionFactory factory = null; private Connection connection = null; diff --git a/messenger/redis/src/main/java/com/saicone/uclansync/core/messenger/type/RedisMessenger.java b/src/main/java/com/saicone/uclansync/core/messenger/type/RedisMessenger.java similarity index 98% rename from messenger/redis/src/main/java/com/saicone/uclansync/core/messenger/type/RedisMessenger.java rename to src/main/java/com/saicone/uclansync/core/messenger/type/RedisMessenger.java index eafbd72..6618243 100644 --- a/messenger/redis/src/main/java/com/saicone/uclansync/core/messenger/type/RedisMessenger.java +++ b/src/main/java/com/saicone/uclansync/core/messenger/type/RedisMessenger.java @@ -12,10 +12,6 @@ public class RedisMessenger extends Messenger { - static { - Messenger.PROVIDERS.put("redis", RedisMessenger.class); - } - private final Bridge bridge; private JedisPool pool = null; private boolean enabled = false; diff --git a/src/main/java/com/saicone/uclansync/module/LibraryLoader.java b/src/main/java/com/saicone/uclansync/module/LibraryLoader.java new file mode 100644 index 0000000..b87024a --- /dev/null +++ b/src/main/java/com/saicone/uclansync/module/LibraryLoader.java @@ -0,0 +1,52 @@ +package com.saicone.uclansync.module; + +import com.saicone.ezlib.Ezlib; +import com.saicone.uclansync.UClanSync; + +import java.io.File; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class LibraryLoader { + + private static final String GOOGLE = new StringBuilder("com").append(".google").toString(); + private static final String COMMONS = new StringBuilder("org").append(".apache.commons").toString(); + private static final String JSON = new StringBuilder("org").append(".json").toString(); + private static final String SLF4J = new StringBuilder("org").append(".slf4j").toString(); + private static final String REDIS = new StringBuilder("redis").append(".clients").toString(); + private static final String RABBITMQ = new StringBuilder("com").append(".rabbitmq").toString(); + + private static final List dependencies = Arrays.asList( + GOOGLE + ".code.gson:gson:2.8.9", + COMMONS + ":commons-pool2:2.11.1", + JSON + ":json:20211205", + SLF4J + ":slf4j-api:1.7.32", + SLF4J + ":slf4j-nop:1.7.32", + REDIS + ":jedis:4.2.0", + RABBITMQ + ":amqp-client:5.14.2" + ); + private static final Map relocations = new HashMap<>(); + + static { + relocations.put(GOOGLE + ".gson", "com.saicone.uclansync.lib.gson"); + relocations.put(COMMONS + ".pool2", "com.saicone.uclansync.lib.pool2"); + relocations.put(JSON, "com.saicone.uclansync.lib.json"); + relocations.put(SLF4J, "com.saicone.uclansync.lib.slf4j"); + relocations.put(REDIS + ".jedis", "com.saicone.uclansync.lib.jedis"); + relocations.put(RABBITMQ, "com.saicone.uclansync.lib.rabbitmq"); + } + + private final Ezlib ezlib; + + public LibraryLoader() { + this.ezlib = new Ezlib(new File(UClanSync.get().getAddonDataFolder(), "libs")); + } + + public void load() { + for (String dependency : dependencies) { + ezlib.load(dependency, relocations, true); + } + } +} diff --git a/src/main/java/com/saicone/uclansync/module/library/Library.java b/src/main/java/com/saicone/uclansync/module/library/Library.java deleted file mode 100644 index 93180b7..0000000 --- a/src/main/java/com/saicone/uclansync/module/library/Library.java +++ /dev/null @@ -1,136 +0,0 @@ -package com.saicone.uclansync.module.library; - -import com.saicone.uclansync.util.Config; - -import java.io.File; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -public class Library { - - public static Library of(Map map) { - String check = Config.getValue(map, "check"); - if (check != null) { - String path = Config.getValue(map, "path"); - if (path != null) { - String repo = Config.getValue(map, "repo", "https://repo.maven.apache.org/maven2/"); - List require = new ArrayList<>(); - List list = Config.getValue(map, "require"); - if (list != null) { - for (Object object : list) { - if (object instanceof Map) { - Library lib = of(Config.of((Map) object)); - if (lib != null) { - require.add(lib); - } - } - } - } - return new Library(check, path, repo, require); - } - } - return null; - } - - private final String check; - private final Path path; - private final List require; - private final String repo; - - public Library(String check, String path, String repo, List require) { - this.check = check; - this.path = new Path(path.split(":", 4)); - this.repo = repo; - this.require = require; - } - - public String getCheck() { - return check; - } - - public Path getPath() { - return path; - } - - public List getRequire() { - return require; - } - - public String getRepo() { - return repo; - } - - public static class Path { - private final String group; - private final String artifact; - private final String version; - private final String fullVersion; - private final String extra; - - public Path(String[] path) { - this(path[0], path.length > 1 ? path[1] : "", path.length > 2 ? path[2] : "", path.length > 3 ? path[3] : ""); - } - - public Path(String group, String artifact, String version, String extra) { - this.group = group; - this.artifact = artifact; - this.version = version; - this.extra = extra; - if (!extra.trim().isEmpty()) { - fullVersion = this.version + "-" + String.join("-", getExtra().split(":")); - } else { - fullVersion = this.version; - } - } - - public String getGroup() { - return group; - } - - public String getArtifact() { - return artifact; - } - - public String getVersion() { - return version; - } - - public String getFullVersion() { - return fullVersion; - } - - public String getExtra() { - return extra; - } - - public String getFileName() { - return getArtifact() + "-" + getFullVersion() + ".jar"; - } - - public File toFile(File folder) { - return new File(folder, getFileName()); - } - - @Override - public String toString() { - return group + ":" + artifact + ":" + fullVersion; - } - - public URL toURL(String repo) { - try { - return new URL(repo + (repo.endsWith("/") ? "" : "/") + - String.join("/", group.split("\\.")) + - "/" + - artifact + - "/" + - String.join("/", fullVersion.split("-")) + - "/" + - getFileName()); - } catch (Exception e) { - return null; - } - } - } -} diff --git a/src/main/java/com/saicone/uclansync/module/library/LibraryLoader.java b/src/main/java/com/saicone/uclansync/module/library/LibraryLoader.java deleted file mode 100644 index ea7aca5..0000000 --- a/src/main/java/com/saicone/uclansync/module/library/LibraryLoader.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.saicone.uclansync.module.library; - -import com.saicone.uclansync.module.Locale; -import com.saicone.uclansync.util.Config; -import org.bukkit.configuration.ConfigurationSection; - -import java.io.*; -import java.net.URL; -import java.net.URLClassLoader; -import java.nio.file.Path; - -public class LibraryLoader { - - private final File folder; - private final LibraryClassLoader loader; - - public LibraryLoader(File folder, URL[] urls, ClassLoader loader) { - this(folder, new LibraryClassLoader(urls, loader)); - } - - public LibraryLoader(File folder, LibraryClassLoader loader) { - this.folder = folder; - this.loader = loader; - if (!this.folder.exists() || !this.folder.isDirectory()) { - this.folder.mkdirs(); - } - } - - public LibraryClassLoader getLoader() { - return loader; - } - - public void init(String name) { - try { - Class.forName(name, true, loader); - } catch (Exception e) { - e.printStackTrace(); - } - } - - public void close() { - try { - loader.close(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - public boolean load(ConfigurationSection section) { - if (section == null) { - return false; - } - Locale.log(4, "Loading library '" + section.getName() + "' from section"); - Library lib = Library.of(Config.toMap(section)); - if (lib != null) { - return load(lib); - } else { - Locale.log(2, "Cannot load library '" + section.getName() + "' from section"); - return false; - } - } - - public boolean load(Library lib) { - for (Library requiredLib : lib.getRequire()) { - if (!load(requiredLib)) { - Locale.log(4, "Cannot load library '" + lib.getPath() + "' because some required library can't be loaded"); - return false; - } - } - - if (!lib.getCheck().equalsIgnoreCase("false")) { - try { - Class.forName(lib.getCheck()); - Locale.log(4, "The library '" + lib.getPath() + "' actually exists in ClassPath"); - return true; - } catch (ClassNotFoundException ignored) { } - } - - if (!lib.getPath().toFile(folder).exists() && !download(lib)) { - return false; - } - - return load(lib.getPath().toFile(folder)); - } - - public boolean load(Path path) { - try { - loader.append(path.toUri().toURL()); - return true; - } catch (Exception e) { - e.printStackTrace(); - return false; - } - } - - public boolean load(File file) { - try { - loader.append(file.toURI().toURL()); - return true; - } catch (Exception e) { - e.printStackTrace(); - return false; - } - } - - public boolean download(Library lib) { - Locale.log(3, "Downloading library '" + lib.getPath() + "' from " + lib.getRepo()); - URL url = lib.getPath().toURL(lib.getRepo()); - if (url == null) { - Locale.log(2, "Failed to download library '" + lib.getPath() + "', invalid URL"); - return false; - } - - try (InputStream in = url.openStream(); OutputStream out = new FileOutputStream(lib.getPath().toFile(folder))) { - byte[] buffer = new byte[4096]; - int len; - while ((len = in.read(buffer)) > 0) { - out.write(buffer, 0, len); - } - return true; - } catch (IOException e) { - Locale.log(2, "Failed to download library '" + lib.getPath() + "', can't get the .jar file from " + url.getPath()); - e.printStackTrace(); - return false; - } - } - - public static class LibraryClassLoader extends URLClassLoader { - public LibraryClassLoader(URL[] urls, ClassLoader loader) { - super(urls, loader); - } - - public void append(URL url) { - addURL(url); - } - } -} diff --git a/src/main/resources/settings.yml b/src/main/resources/settings.yml index a36e616..32ac765 100644 --- a/src/main/resources/settings.yml +++ b/src/main/resources/settings.yml @@ -39,7 +39,7 @@ Messenger: # - PROXY = Don't require any type of installation, but your servers # must be in the same proxy (Bungee or Velocity). # - PLUGIN = Same has PROXY but require to put UClanSync plugin in - # your proxy instance (And is more faster than PROXY type). + # your proxy instance (And is faster than PROXY type). # - REDIS = Use a Redis server for messaging (Configure it below). # - RABBITMQ = Use a RabbitMQ server for messaging (Configure it below). Type: 'PROXY' @@ -56,7 +56,7 @@ Messenger: # Documentation: https://www.rabbitmq.com/uri-spec.html # # URL: amqp://userName:password@hostName:portNumber/virtualHost - # Is the virtual host is "/", set has "%2F" + # If the virtual host is "/", set has "%2F" url: 'amqp://guest:guest@localhost:5672/%2F' # Addon command configuration @@ -64,31 +64,4 @@ Command: Name: 'uclansync' Permission: 'uclansync.use' Aliases: - - 'clansync' - -# Needed libraries for some systems in UClanSync -Libraries: - # Redis library - Redis: - # Class to check if library is present in class path - # Set to "false" if you want to download the library anyway - check: 'redis.clients.jedis.JedisPubSub' - # Library dependency path (just like Gradle) - path: 'redis.clients:jedis:4.2.0' - # Required libraries to work - require: - - check: 'com.google.gson.Gson' - path: 'com.google.gson:gson:2.8.9' - - check: 'org.apache.commons.pool2.ObjectPool' - path: 'org.apache.commons:commons-pool2:2.11.1' - - check: 'org.json.JSONObject' - path: 'org.json:json:20211205' - - check: 'org.slf4j.Logger' - path: 'org.slf4j:slf4j-api:1.7.32' - # RabbitMQ library - RabbitMQ: - check: 'com.rabbitmq.client.DeliverCallback' - path: 'com.rabbitmq:amqp-client:5.14.2' - require: - - check: 'org.slf4j.Logger' - path: 'org.slf4j:slf4j-api:1.7.32' \ No newline at end of file + - 'clansync' \ No newline at end of file