mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-07-04 06:34:42 +02:00
Compare commits
14 Commits
chore/v7/r
...
migrate-en
Author | SHA1 | Date | |
---|---|---|---|
f5972317bd | |||
a3bc3968a5 | |||
79454da1a6 | |||
12a4c92ad9 | |||
167692d464 | |||
ae26e8155c | |||
286ea62a21 | |||
d95c74d8c9 | |||
c1555ddbc7 | |||
4fe0c586d9 | |||
aae6ea4fee | |||
385d018504 | |||
f4def082c1 | |||
69c9f1df83 |
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -27,7 +27,7 @@ body:
|
|||||||
description: Which server version version you using? If your server version is not listed, it is not supported. Update to a supported version first.
|
description: Which server version version you using? If your server version is not listed, it is not supported. Update to a supported version first.
|
||||||
multiple: false
|
multiple: false
|
||||||
options:
|
options:
|
||||||
- '1.20.1'
|
- '1.20.2'
|
||||||
- '1.20'
|
- '1.20'
|
||||||
- '1.19.4'
|
- '1.19.4'
|
||||||
- '1.19.3'
|
- '1.19.3'
|
||||||
|
2
.github/workflows/build-pr.yml
vendored
2
.github/workflows/build-pr.yml
vendored
@ -9,7 +9,7 @@ jobs:
|
|||||||
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repository
|
- name: Checkout Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Validate Gradle Wrapper
|
- name: Validate Gradle Wrapper
|
||||||
uses: gradle/wrapper-validation-action@v1
|
uses: gradle/wrapper-validation-action@v1
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
|
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@ -9,7 +9,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repository
|
- name: Checkout Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Validate Gradle Wrapper
|
- name: Validate Gradle Wrapper
|
||||||
uses: gradle/wrapper-validation-action@v1
|
uses: gradle/wrapper-validation-action@v1
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
|
2
.github/workflows/codeql.yml
vendored
2
.github/workflows/codeql.yml
vendored
@ -20,7 +20,7 @@ jobs:
|
|||||||
language: [ 'java' ]
|
language: [ 'java' ]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
uses: actions/setup-java@v3
|
uses: actions/setup-java@v3
|
||||||
with:
|
with:
|
||||||
|
@ -100,7 +100,7 @@ tasks {
|
|||||||
withType<Javadoc> {
|
withType<Javadoc> {
|
||||||
val isRelease = if (rootProject.version.toString().endsWith("-SNAPSHOT")) "TODO" else rootProject.version.toString()
|
val isRelease = if (rootProject.version.toString().endsWith("-SNAPSHOT")) "TODO" else rootProject.version.toString()
|
||||||
val opt = options as StandardJavadocDocletOptions
|
val opt = options as StandardJavadocDocletOptions
|
||||||
opt.links("https://jd.papermc.io/paper/1.19/")
|
opt.links("https://jd.papermc.io/paper/1.20/")
|
||||||
opt.links("https://docs.enginehub.org/javadoc/com.sk89q.worldedit/worldedit-bukkit/" + libs.worldeditBukkit.get().versionConstraint.toString())
|
opt.links("https://docs.enginehub.org/javadoc/com.sk89q.worldedit/worldedit-bukkit/" + libs.worldeditBukkit.get().versionConstraint.toString())
|
||||||
opt.links("https://intellectualsites.github.io/plotsquared-javadocs/core/")
|
opt.links("https://intellectualsites.github.io/plotsquared-javadocs/core/")
|
||||||
opt.links("https://jd.advntr.dev/api/4.14.0/")
|
opt.links("https://jd.advntr.dev/api/4.14.0/")
|
||||||
|
@ -35,7 +35,7 @@ import org.bukkit.scheduler.BukkitTask;
|
|||||||
import javax.net.ssl.HttpsURLConnection;
|
import javax.net.ssl.HttpsURLConnection;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.net.URL;
|
import java.net.URI;
|
||||||
|
|
||||||
public class UpdateUtility implements Listener {
|
public class UpdateUtility implements Listener {
|
||||||
|
|
||||||
@ -59,8 +59,9 @@ public class UpdateUtility implements Listener {
|
|||||||
public void updateChecker() {
|
public void updateChecker() {
|
||||||
task = Bukkit.getScheduler().runTaskTimerAsynchronously(this.javaPlugin, () -> {
|
task = Bukkit.getScheduler().runTaskTimerAsynchronously(this.javaPlugin, () -> {
|
||||||
try {
|
try {
|
||||||
HttpsURLConnection connection = (HttpsURLConnection) new URL(
|
HttpsURLConnection connection = (HttpsURLConnection) URI.create(
|
||||||
"https://api.spigotmc.org/simple/0.2/index.php?action=getResource&id=77506")
|
"https://api.spigotmc.org/simple/0.2/index.php?action=getResource&id=77506")
|
||||||
|
.toURL()
|
||||||
.openConnection();
|
.openConnection();
|
||||||
connection.setRequestMethod("GET");
|
connection.setRequestMethod("GET");
|
||||||
JsonObject result = new JsonParser()
|
JsonObject result = new JsonParser()
|
||||||
|
@ -57,8 +57,8 @@ tasks.processResources {
|
|||||||
|
|
||||||
doLast {
|
doLast {
|
||||||
copy {
|
copy {
|
||||||
from(File("$rootDir/LICENSE"))
|
from(layout.buildDirectory.file("$rootDir/LICENSE"))
|
||||||
into("$buildDir/resources/main/")
|
into(layout.buildDirectory.dir("resources/main"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -84,7 +84,7 @@ import java.io.InputStream;
|
|||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.io.ObjectInputStream;
|
import java.io.ObjectInputStream;
|
||||||
import java.io.ObjectOutputStream;
|
import java.io.ObjectOutputStream;
|
||||||
import java.net.MalformedURLException;
|
import java.net.URI;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
@ -210,9 +210,10 @@ public class PlotSquared {
|
|||||||
try {
|
try {
|
||||||
URL logurl = PlotSquared.class.getProtectionDomain().getCodeSource().getLocation();
|
URL logurl = PlotSquared.class.getProtectionDomain().getCodeSource().getLocation();
|
||||||
this.jarFile = new File(
|
this.jarFile = new File(
|
||||||
new URL(logurl.toURI().toString().split("\\!")[0].replaceAll("jar:file", "file"))
|
URI.create(
|
||||||
.toURI().getPath());
|
logurl.toURI().toString().split("\\!")[0].replaceAll("jar:file", "file"))
|
||||||
} catch (MalformedURLException | URISyntaxException | SecurityException e) {
|
.getPath());
|
||||||
|
} catch (URISyntaxException | SecurityException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
this.jarFile = new File(this.platform.getDirectory().getParentFile(), "PlotSquared.jar");
|
this.jarFile = new File(this.platform.getDirectory().getParentFile(), "PlotSquared.jar");
|
||||||
if (!this.jarFile.exists()) {
|
if (!this.jarFile.exists()) {
|
||||||
|
@ -29,6 +29,7 @@ import com.plotsquared.core.util.WorldUtil;
|
|||||||
import com.plotsquared.core.util.entity.EntityCategories;
|
import com.plotsquared.core.util.entity.EntityCategories;
|
||||||
import com.plotsquared.core.util.entity.EntityCategory;
|
import com.plotsquared.core.util.entity.EntityCategory;
|
||||||
import com.plotsquared.core.util.query.PlotQuery;
|
import com.plotsquared.core.util.query.PlotQuery;
|
||||||
|
import com.plotsquared.core.util.task.TaskManager;
|
||||||
import com.plotsquared.core.uuid.UUIDMapping;
|
import com.plotsquared.core.uuid.UUIDMapping;
|
||||||
import com.sk89q.worldedit.world.entity.EntityType;
|
import com.sk89q.worldedit.world.entity.EntityType;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
@ -70,7 +71,7 @@ public class Debug extends SubCommand {
|
|||||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||||
TagResolver.resolver(
|
TagResolver.resolver(
|
||||||
"value",
|
"value",
|
||||||
Tag.inserting(Component.text("/plot debug <player | debug-players | entitytypes | msg>"))
|
Tag.inserting(Component.text("/plot debug <loadedchunks | player | debug-players | entitytypes | msg>"))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -84,6 +85,16 @@ public class Debug extends SubCommand {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (args.length > 0 && "loadedchunks".equalsIgnoreCase(args[0])) {
|
||||||
|
final long start = System.currentTimeMillis();
|
||||||
|
player.sendMessage(TranslatableCaption.of("debug.fetching_loaded_chunks"));
|
||||||
|
TaskManager.runTaskAsync(() -> player.sendMessage(StaticCaption
|
||||||
|
.of("Loaded chunks: " + this.worldUtil
|
||||||
|
.getChunkChunks(player.getLocation().getWorldName())
|
||||||
|
.size() + " (" + (System.currentTimeMillis()
|
||||||
|
- start) + "ms) using thread: " + Thread.currentThread().getName())));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
if (args.length > 0 && "uuids".equalsIgnoreCase(args[0])) {
|
if (args.length > 0 && "uuids".equalsIgnoreCase(args[0])) {
|
||||||
final Collection<UUIDMapping> mappings = PlotSquared.get().getImpromptuUUIDPipeline().getAllImmediately();
|
final Collection<UUIDMapping> mappings = PlotSquared.get().getImpromptuUUIDPipeline().getAllImmediately();
|
||||||
player.sendMessage(
|
player.sendMessage(
|
||||||
@ -185,7 +196,7 @@ public class Debug extends SubCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Collection<Command> tab(final PlotPlayer<?> player, String[] args, boolean space) {
|
public Collection<Command> tab(final PlotPlayer<?> player, String[] args, boolean space) {
|
||||||
return Stream.of("debug-players", "entitytypes")
|
return Stream.of("loadedchunks", "debug-players", "entitytypes")
|
||||||
.filter(value -> value.startsWith(args[0].toLowerCase(Locale.ENGLISH)))
|
.filter(value -> value.startsWith(args[0].toLowerCase(Locale.ENGLISH)))
|
||||||
.map(value -> new Command(null, false, value, "plots.admin", RequiredType.NONE, null) {
|
.map(value -> new Command(null, false, value, "plots.admin", RequiredType.NONE, null) {
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
|
@ -41,6 +41,7 @@ import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
|
|||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
|
import java.net.URI;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -116,7 +117,7 @@ public class Load extends SubCommand {
|
|||||||
}
|
}
|
||||||
final URL url;
|
final URL url;
|
||||||
try {
|
try {
|
||||||
url = new URL(Settings.Web.URL + "saves/" + player.getUUID() + '/' + schematic);
|
url = URI.create(Settings.Web.URL + "saves/" + player.getUUID() + '/' + schematic).toURL();
|
||||||
} catch (MalformedURLException e) {
|
} catch (MalformedURLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
player.sendMessage(TranslatableCaption.of("web.load_failed"));
|
player.sendMessage(TranslatableCaption.of("web.load_failed"));
|
||||||
|
@ -40,6 +40,7 @@ import net.kyori.adventure.text.minimessage.tag.Tag;
|
|||||||
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
|
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
|
||||||
|
import java.net.URI;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -130,8 +131,7 @@ public class SchematicCmd extends SubCommand {
|
|||||||
if (location.startsWith("url:")) {
|
if (location.startsWith("url:")) {
|
||||||
try {
|
try {
|
||||||
UUID uuid = UUID.fromString(location.substring(4));
|
UUID uuid = UUID.fromString(location.substring(4));
|
||||||
URL base = new URL(Settings.Web.URL);
|
URL url = URI.create(Settings.Web.URL + "uploads/" + uuid + ".schematic").toURL();
|
||||||
URL url = new URL(base, "uploads/" + uuid + ".schematic");
|
|
||||||
schematic = this.schematicHandler.getSchematic(url);
|
schematic = this.schematicHandler.getSchematic(url);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
@ -189,7 +189,7 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
|||||||
}
|
}
|
||||||
Object value;
|
Object value;
|
||||||
try {
|
try {
|
||||||
final boolean accessible = field.isAccessible();
|
final boolean accessible = field.canAccess(this);
|
||||||
field.setAccessible(true);
|
field.setAccessible(true);
|
||||||
value = field.get(this);
|
value = field.get(this);
|
||||||
field.setAccessible(accessible);
|
field.setAccessible(accessible);
|
||||||
|
@ -42,27 +42,14 @@ public class EntityUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static int capNumeral(final @NonNull String flagName) {
|
private static int capNumeral(final @NonNull String flagName) {
|
||||||
int i;
|
int i = switch (flagName) {
|
||||||
switch (flagName) {
|
case "mob-cap" -> CAP_MOB;
|
||||||
case "mob-cap":
|
case "hostile-cap" -> CAP_MONSTER;
|
||||||
i = CAP_MOB;
|
case "animal-cap" -> CAP_ANIMAL;
|
||||||
break;
|
case "vehicle-cap" -> CAP_VEHICLE;
|
||||||
case "hostile-cap":
|
case "misc-cap" -> CAP_MISC;
|
||||||
i = CAP_MONSTER;
|
default -> CAP_ENTITY;
|
||||||
break;
|
};
|
||||||
case "animal-cap":
|
|
||||||
i = CAP_ANIMAL;
|
|
||||||
break;
|
|
||||||
case "vehicle-cap":
|
|
||||||
i = CAP_VEHICLE;
|
|
||||||
break;
|
|
||||||
case "misc-cap":
|
|
||||||
i = CAP_MISC;
|
|
||||||
break;
|
|
||||||
case "entity-cap":
|
|
||||||
default:
|
|
||||||
i = CAP_ENTITY;
|
|
||||||
}
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,6 +83,7 @@ import java.io.OutputStreamWriter;
|
|||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
|
import java.net.URI;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.net.URLConnection;
|
import java.net.URLConnection;
|
||||||
import java.nio.channels.Channels;
|
import java.nio.channels.Channels;
|
||||||
@ -144,7 +145,7 @@ public abstract class SchematicHandler {
|
|||||||
}
|
}
|
||||||
final URL url;
|
final URL url;
|
||||||
try {
|
try {
|
||||||
url = new URL(Settings.Web.URL + "?key=" + uuid + "&type=" + extension);
|
url = URI.create(Settings.Web.URL + "?key=" + uuid + "&type=" + extension).toURL();
|
||||||
} catch (MalformedURLException e) {
|
} catch (MalformedURLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
whenDone.run();
|
whenDone.run();
|
||||||
@ -153,7 +154,7 @@ public abstract class SchematicHandler {
|
|||||||
TaskManager.runTaskAsync(() -> {
|
TaskManager.runTaskAsync(() -> {
|
||||||
try {
|
try {
|
||||||
String boundary = Long.toHexString(System.currentTimeMillis());
|
String boundary = Long.toHexString(System.currentTimeMillis());
|
||||||
URLConnection con = new URL(website).openConnection();
|
URLConnection con = URI.create(website).toURL().openConnection();
|
||||||
con.setDoOutput(true);
|
con.setDoOutput(true);
|
||||||
con.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);
|
con.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);
|
||||||
try (OutputStream output = con.getOutputStream();
|
try (OutputStream output = con.getOutputStream();
|
||||||
@ -498,9 +499,10 @@ public abstract class SchematicHandler {
|
|||||||
public List<String> getSaves(UUID uuid) {
|
public List<String> getSaves(UUID uuid) {
|
||||||
String rawJSON;
|
String rawJSON;
|
||||||
try {
|
try {
|
||||||
String website = Settings.Web.URL + "list.php?" + uuid.toString();
|
URLConnection connection = URI.create(
|
||||||
URL url = new URL(website);
|
Settings.Web.URL + "list.php?" + uuid.toString())
|
||||||
URLConnection connection = new URL(url.toString()).openConnection();
|
.toURL()
|
||||||
|
.openConnection();
|
||||||
connection.setRequestProperty("User-Agent", "Mozilla/5.0");
|
connection.setRequestProperty("User-Agent", "Mozilla/5.0");
|
||||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
|
try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
|
||||||
rawJSON = reader.lines().collect(Collectors.joining());
|
rawJSON = reader.lines().collect(Collectors.joining());
|
||||||
|
@ -171,8 +171,9 @@ subprojects {
|
|||||||
|
|
||||||
scm {
|
scm {
|
||||||
url.set("https://github.com/IntellectualSites/PlotSquared")
|
url.set("https://github.com/IntellectualSites/PlotSquared")
|
||||||
connection.set("scm:https://IntellectualSites@github.com/IntellectualSites/PlotSquared.git")
|
connection.set("scm:git:https://github.com/IntellectualSites/PlotSquared.git")
|
||||||
developerConnection.set("scm:git://github.com/IntellectualSites/PlotSquared.git")
|
developerConnection.set("scm:git:git@github.com:IntellectualSites/PlotSquared.git")
|
||||||
|
tag.set("${project.version}")
|
||||||
}
|
}
|
||||||
|
|
||||||
issueManagement {
|
issueManagement {
|
||||||
@ -219,7 +220,7 @@ tasks.getByName<Jar>("jar") {
|
|||||||
enabled = false
|
enabled = false
|
||||||
}
|
}
|
||||||
|
|
||||||
val supportedVersions = listOf("1.16.5", "1.17.1", "1.18.2", "1.19.4", "1.20.1")
|
val supportedVersions = listOf("1.16.5", "1.17.1", "1.18.2", "1.19.4", "1.20.1", "1.20.2")
|
||||||
tasks {
|
tasks {
|
||||||
val lastSuccessfulBuildUrl = uri("https://ci.athion.net/job/FastAsyncWorldEdit/lastSuccessfulBuild/api/json").toURL()
|
val lastSuccessfulBuildUrl = uri("https://ci.athion.net/job/FastAsyncWorldEdit/lastSuccessfulBuild/api/json").toURL()
|
||||||
val artifact = ((JsonSlurper().parse(lastSuccessfulBuildUrl) as Map<*, *>)["artifacts"] as List<*>)
|
val artifact = ((JsonSlurper().parse(lastSuccessfulBuildUrl) as Map<*, *>)["artifacts"] as List<*>)
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
[versions]
|
[versions]
|
||||||
# Platform expectations
|
# Platform expectations
|
||||||
paper = "1.20.1-R0.1-SNAPSHOT"
|
paper = "1.20.2-R0.1-SNAPSHOT"
|
||||||
guice = "7.0.0"
|
guice = "7.0.0"
|
||||||
spotbugs = "4.7.3"
|
spotbugs = "4.7.3"
|
||||||
checkerqual = "3.37.0"
|
checkerqual = "3.38.0"
|
||||||
gson = "2.10"
|
gson = "2.10"
|
||||||
guava = "31.1-jre"
|
guava = "31.1-jre"
|
||||||
snakeyaml = "2.0"
|
snakeyaml = "2.0"
|
||||||
adventure = "4.14.0"
|
adventure = "4.14.0"
|
||||||
adventure-bukkit = "4.3.0"
|
adventure-bukkit = "4.3.1"
|
||||||
log4j = "2.19.0"
|
log4j = "2.19.0"
|
||||||
|
|
||||||
# Plugins
|
# Plugins
|
||||||
worldedit = "7.2.15"
|
worldedit = "7.2.16"
|
||||||
fawe = "2.7.1"
|
fawe = "2.8.0"
|
||||||
placeholderapi = "2.11.3"
|
placeholderapi = "2.11.4"
|
||||||
luckperms = "5.4"
|
luckperms = "5.4"
|
||||||
essentialsx = "2.20.1"
|
essentialsx = "2.20.1"
|
||||||
mvdwapi = "3.1.1"
|
mvdwapi = "3.1.1"
|
||||||
@ -22,7 +22,7 @@ mvdwapi = "3.1.1"
|
|||||||
# Third party
|
# Third party
|
||||||
prtree = "2.0.1"
|
prtree = "2.0.1"
|
||||||
aopalliance = "1.0"
|
aopalliance = "1.0"
|
||||||
cloud-services = "1.8.3"
|
cloud-services = "1.8.4"
|
||||||
arkitektonika = "2.1.2"
|
arkitektonika = "2.1.2"
|
||||||
squirrelid = "0.3.2"
|
squirrelid = "0.3.2"
|
||||||
paster = "1.1.5"
|
paster = "1.1.5"
|
||||||
@ -35,7 +35,7 @@ serverlib = "2.3.4"
|
|||||||
# Gradle plugins
|
# Gradle plugins
|
||||||
shadow = "8.1.1"
|
shadow = "8.1.1"
|
||||||
grgit = "4.1.1"
|
grgit = "4.1.1"
|
||||||
spotless = "6.21.0"
|
spotless = "6.22.0"
|
||||||
nexus = "1.3.0"
|
nexus = "1.3.0"
|
||||||
runPaper = "2.2.0"
|
runPaper = "2.2.0"
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user