Update to Java 16 + replace javatuples usage with records

This commit is contained in:
Marc Baloup 2021-06-18 02:41:48 +02:00
parent 29d036a13f
commit 918ab59b69
Signed by: marcbal
GPG Key ID: BBC0FE3ABC30B893
15 changed files with 89 additions and 90 deletions

View File

@ -13,7 +13,7 @@
<attribute name="test" value="true"/> <attribute name="test" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-16">
<attributes> <attributes>
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>

View File

@ -1,8 +1,8 @@
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 org.eclipse.jdt.core.compiler.codegen.targetPlatform=16
org.eclipse.jdt.core.compiler.compliance=11 org.eclipse.jdt.core.compiler.compliance=16
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=11 org.eclipse.jdt.core.compiler.source=16

View File

@ -13,7 +13,7 @@
<attribute name="test" value="true"/> <attribute name="test" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-16">
<attributes> <attributes>
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>

View File

@ -1,8 +1,8 @@
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 org.eclipse.jdt.core.compiler.codegen.targetPlatform=16
org.eclipse.jdt.core.compiler.compliance=11 org.eclipse.jdt.core.compiler.compliance=16
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=11 org.eclipse.jdt.core.compiler.source=16

View File

@ -27,16 +27,16 @@
<version>${bungeecord.version}</version> <version>${bungeecord.version}</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <!-- <dependency>
<groupId>org.javatuples</groupId> <groupId>org.javatuples</groupId>
<artifactId>javatuples</artifactId> <artifactId>javatuples</artifactId>
<version>1.2</version> <version>1.2</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency> -->
<dependency> <dependency>
<groupId>io.github.classgraph</groupId> <groupId>io.github.classgraph</groupId>
<artifactId>classgraph</artifactId> <artifactId>classgraph</artifactId>
<version>4.8.90</version> <version>4.8.108</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@ -5,8 +5,6 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import org.javatuples.Pair;
import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.ChatColor;
public class ChatColorUtil { public class ChatColorUtil {
@ -257,10 +255,12 @@ public class ChatColorUtil {
public static class ChatValueGradient { public static class ChatValueGradient {
List<Pair<Float, ChatColor>> colors = new ArrayList<>(); private record GradientValueColor(float value, ChatColor color) { }
List<GradientValueColor> colors = new ArrayList<>();
public synchronized ChatValueGradient add(float v, ChatColor col) { public synchronized ChatValueGradient add(float v, ChatColor col) {
colors.add(Pair.with(v, col)); colors.add(new GradientValueColor(v, col));
return this; return this;
} }
@ -268,23 +268,23 @@ public class ChatColorUtil {
if (colors.isEmpty()) if (colors.isEmpty())
throw new IllegalStateException("Must define at least one color in this ChatValueGradient instance."); throw new IllegalStateException("Must define at least one color in this ChatValueGradient instance.");
if (colors.size() == 1) if (colors.size() == 1)
return colors.get(0).getValue1(); return colors.get(0).color();
colors.sort((p1, p2) -> Float.compare(p1.getValue0(), p2.getValue0())); colors.sort((p1, p2) -> Float.compare(p1.value(), p2.value()));
if (v <= colors.get(0).getValue0()) if (v <= colors.get(0).value())
return colors.get(0).getValue1(); return colors.get(0).color();
if (v >= colors.get(colors.size() - 1).getValue0()) if (v >= colors.get(colors.size() - 1).value())
return colors.get(colors.size() - 1).getValue1(); return colors.get(colors.size() - 1).color();
int p1 = 1; int p1 = 1;
for (; p1 < colors.size(); p1++) { for (; p1 < colors.size(); p1++) {
if (colors.get(p1).getValue0() >= v) if (colors.get(p1).value() >= v)
break; break;
} }
int p0 = p1 - 1; int p0 = p1 - 1;
float v0 = colors.get(p0).getValue0(), v1 = colors.get(p1).getValue0(); float v0 = colors.get(p0).value(), v1 = colors.get(p1).value();
ChatColor cc0 = colors.get(p0).getValue1(), cc1 = colors.get(p1).getValue1(); ChatColor cc0 = colors.get(p0).color(), cc1 = colors.get(p1).color();
return interpolateColor(v0, v1, v, cc0, cc1); return interpolateColor(v0, v1, v, cc0, cc1);
} }

View File

@ -13,8 +13,6 @@ import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.function.Consumer; import java.util.function.Consumer;
import org.javatuples.Pair;
import fr.pandacube.lib.core.util.Log; import fr.pandacube.lib.core.util.Log;
/** /**
@ -70,12 +68,12 @@ public final class DB {
Collection<SQLField<E, ?>> tableFields = elem.getFields().values(); Collection<SQLField<E, ?>> tableFields = elem.getFields().values();
boolean first = true; boolean first = true;
for (SQLField<E, ?> f : tableFields) { for (SQLField<E, ?> f : tableFields) {
Pair<String, List<Object>> statementPart = f.forSQLPreparedStatement(); ParameterizedSQLString statementPart = f.forSQLPreparedStatement();
params.addAll(statementPart.getValue1()); params.addAll(statementPart.parameters());
if (!first) sql += ", "; if (!first) sql += ", ";
first = false; first = false;
sql += statementPart.getValue0(); sql += statementPart.sqlString();
} }
sql += ", PRIMARY KEY id(id))"; sql += ", PRIMARY KEY id(id))";
@ -197,9 +195,9 @@ public final class DB {
List<Object> params = new ArrayList<>(); List<Object> params = new ArrayList<>();
if (where != null) { if (where != null) {
Pair<String, List<Object>> ret = where.toSQL(); ParameterizedSQLString ret = where.toSQL();
sql += " WHERE " + ret.getValue0(); sql += " WHERE " + ret.sqlString();
params.addAll(ret.getValue1()); params.addAll(ret.parameters());
} }
if (orderBy != null) sql += " ORDER BY " + orderBy.toSQL(); if (orderBy != null) sql += " ORDER BY " + orderBy.toSQL();
if (limit != null) sql += " LIMIT " + limit; if (limit != null) sql += " LIMIT " + limit;
@ -233,9 +231,9 @@ public final class DB {
List<Object> params = new ArrayList<>(); List<Object> params = new ArrayList<>();
if (where != null) { if (where != null) {
Pair<String, List<Object>> ret = where.toSQL(); ParameterizedSQLString ret = where.toSQL();
sql += " WHERE " + ret.getValue0(); sql += " WHERE " + ret.sqlString();
params.addAll(ret.getValue1()); params.addAll(ret.parameters());
} }
sql += ";"; sql += ";";
@ -302,12 +300,12 @@ public final class DB {
return truncateTable(elemClass); return truncateTable(elemClass);
} }
Pair<String, List<Object>> whereData = where.toSQL(); ParameterizedSQLString whereData = where.toSQL();
String sql = "DELETE FROM " + getTableName(elemClass) String sql = "DELETE FROM " + getTableName(elemClass)
+ " WHERE " + whereData.getValue0() + " WHERE " + whereData.sqlString()
+ ";"; + ";";
List<Object> params = new ArrayList<>(whereData.getValue1()); List<Object> params = new ArrayList<>(whereData.parameters());
return customUpdateStatement(sql, params); return customUpdateStatement(sql, params);

View File

@ -0,0 +1,7 @@
package fr.pandacube.lib.core.db;
import java.util.List;
public record ParameterizedSQLString(String sqlString, List<Object> parameters) {
}

View File

@ -4,13 +4,11 @@ import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import org.javatuples.Pair;
import fr.pandacube.lib.core.db.SQLWhere.SQLWhereComp; import fr.pandacube.lib.core.db.SQLWhere.SQLWhereComp;
import fr.pandacube.lib.core.db.SQLWhere.SQLWhereComp.SQLComparator;
import fr.pandacube.lib.core.db.SQLWhere.SQLWhereIn; import fr.pandacube.lib.core.db.SQLWhere.SQLWhereIn;
import fr.pandacube.lib.core.db.SQLWhere.SQLWhereLike; import fr.pandacube.lib.core.db.SQLWhere.SQLWhereLike;
import fr.pandacube.lib.core.db.SQLWhere.SQLWhereNull; import fr.pandacube.lib.core.db.SQLWhere.SQLWhereNull;
import fr.pandacube.lib.core.db.SQLWhere.SQLWhereComp.SQLComparator;
public class SQLField<E extends SQLElement<E>, T> { public class SQLField<E extends SQLElement<E>, T> {
@ -40,10 +38,10 @@ public class SQLField<E extends SQLElement<E>, T> {
this(t, nul, false, deflt); this(t, nul, false, deflt);
} }
/* package */ Pair<String, List<Object>> forSQLPreparedStatement() { /* package */ ParameterizedSQLString forSQLPreparedStatement() {
List<Object> params = new ArrayList<>(1); List<Object> params = new ArrayList<>(1);
if (defaultValue != null && !autoIncrement) params.add(defaultValue); if (defaultValue != null && !autoIncrement) params.add(defaultValue);
return new Pair<>("`" + getName() + "` " + type.toString() + (canBeNull ? " NULL" : " NOT NULL") return new ParameterizedSQLString("`" + getName() + "` " + type.toString() + (canBeNull ? " NULL" : " NOT NULL")
+ (autoIncrement ? " AUTO_INCREMENT" : "") + (autoIncrement ? " AUTO_INCREMENT" : "")
+ ((defaultValue == null || autoIncrement) ? "" : " DEFAULT ?"), params); + ((defaultValue == null || autoIncrement) ? "" : " DEFAULT ?"), params);
} }
@ -72,7 +70,7 @@ public class SQLField<E extends SQLElement<E>, T> {
*/ */
@Override @Override
public String toString() { public String toString() {
return forSQLPreparedStatement().getValue0().replaceFirst("\\?", return forSQLPreparedStatement().sqlString().replaceFirst("\\?",
(defaultValue != null && !autoIncrement) ? defaultValue.toString() : ""); (defaultValue != null && !autoIncrement) ? defaultValue.toString() : "");
} }

View File

@ -5,8 +5,6 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.javatuples.Pair;
import fr.pandacube.lib.core.util.Log; import fr.pandacube.lib.core.util.Log;
public class SQLUpdate<E extends SQLElement<E>> { public class SQLUpdate<E extends SQLElement<E>> {
@ -57,9 +55,9 @@ public class SQLUpdate<E extends SQLElement<E>> {
} }
if (where != null) { if (where != null) {
Pair<String, List<Object>> ret = where.toSQL(); ParameterizedSQLString ret = where.toSQL();
sql += " WHERE " + ret.getValue0(); sql += " WHERE " + ret.sqlString();
params.addAll(ret.getValue1()); params.addAll(ret.parameters());
} }
sql += ";"; sql += ";";

View File

@ -5,18 +5,16 @@ import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import org.javatuples.Pair;
import fr.pandacube.lib.core.util.Log; import fr.pandacube.lib.core.util.Log;
public abstract class SQLWhere<E extends SQLElement<E>> { public abstract class SQLWhere<E extends SQLElement<E>> {
public abstract Pair<String, List<Object>> toSQL() throws DBException; public abstract ParameterizedSQLString toSQL() throws DBException;
@Override @Override
public String toString() { public String toString() {
try { try {
return toSQL().getValue0(); return toSQL().sqlString();
} catch (DBException e) { } catch (DBException e) {
Log.warning(e); Log.warning(e);
return "[SQLWhere.toString() error (see logs)]"; return "[SQLWhere.toString() error (see logs)]";
@ -66,7 +64,7 @@ public abstract class SQLWhere<E extends SQLElement<E>> {
} }
@Override @Override
public Pair<String, List<Object>> toSQL() throws DBException { public ParameterizedSQLString toSQL() throws DBException {
if (conditions.isEmpty()) { if (conditions.isEmpty()) {
throw new DBException("SQLWhereChain needs at least one element inside !"); throw new DBException("SQLWhereChain needs at least one element inside !");
} }
@ -79,12 +77,12 @@ public abstract class SQLWhere<E extends SQLElement<E>> {
if (!first) sql += " " + operator.sql + " "; if (!first) sql += " " + operator.sql + " ";
first = false; first = false;
Pair<String, List<Object>> ret = w.toSQL(); ParameterizedSQLString ret = w.toSQL();
sql += "(" + ret.getValue0() + ")"; sql += "(" + ret.sqlString() + ")";
params.addAll(ret.getValue1()); params.addAll(ret.parameters());
} }
return new Pair<>(sql, params); return new ParameterizedSQLString(sql, params);
} }
protected enum SQLBoolOp { protected enum SQLBoolOp {
@ -169,10 +167,10 @@ public abstract class SQLWhere<E extends SQLElement<E>> {
} }
@Override @Override
public Pair<String, List<Object>> toSQL() throws DBException { public ParameterizedSQLString toSQL() throws DBException {
List<Object> params = new ArrayList<>(); List<Object> params = new ArrayList<>();
SQLElement.addValueToSQLObjectList(params, left, right); SQLElement.addValueToSQLObjectList(params, left, right);
return new Pair<>("`" + left.getName() + "` " + comp.sql + " ? ", params); return new ParameterizedSQLString("`" + left.getName() + "` " + comp.sql + " ? ", params);
} }
/* package */ enum SQLComparator { /* package */ enum SQLComparator {
@ -217,11 +215,11 @@ public abstract class SQLWhere<E extends SQLElement<E>> {
} }
@Override @Override
public Pair<String, List<Object>> toSQL() throws DBException { public ParameterizedSQLString toSQL() throws DBException {
List<Object> params = new ArrayList<>(); List<Object> params = new ArrayList<>();
if (values.isEmpty()) if (values.isEmpty())
return new Pair<>(" 1=0 ", params); return new ParameterizedSQLString(" 1=0 ", params);
for (Object v : values) for (Object v : values)
SQLElement.addValueToSQLObjectList(params, field, v); SQLElement.addValueToSQLObjectList(params, field, v);
@ -230,7 +228,7 @@ public abstract class SQLWhere<E extends SQLElement<E>> {
for (int i = 0; i < questions.length; i++) for (int i = 0; i < questions.length; i++)
questions[i] = i % 2 == 0 ? '?' : ','; questions[i] = i % 2 == 0 ? '?' : ',';
return new Pair<>("`" + field.getName() + "` IN (" + new String(questions) + ") ", params); return new ParameterizedSQLString("`" + field.getName() + "` IN (" + new String(questions) + ") ", params);
} }
} }
@ -261,10 +259,10 @@ public abstract class SQLWhere<E extends SQLElement<E>> {
} }
@Override @Override
public Pair<String, List<Object>> toSQL() { public ParameterizedSQLString toSQL() {
ArrayList<Object> params = new ArrayList<>(); ArrayList<Object> params = new ArrayList<>();
params.add(likeExpr); params.add(likeExpr);
return new Pair<>("`" + field.getName() + "` LIKE ? ", params); return new ParameterizedSQLString("`" + field.getName() + "` LIKE ? ", params);
} }
} }
@ -297,8 +295,8 @@ public abstract class SQLWhere<E extends SQLElement<E>> {
} }
@Override @Override
public Pair<String, List<Object>> toSQL() { public ParameterizedSQLString toSQL() {
return new Pair<>("`" + fild.getName() + "` IS " + ((nulll) ? "NULL" : "NOT NULL"), new ArrayList<>()); return new ParameterizedSQLString("`" + fild.getName() + "` IS " + ((nulll) ? "NULL" : "NOT NULL"), new ArrayList<>());
} }
} }

View File

@ -11,8 +11,6 @@ import java.util.concurrent.TimeUnit;
import java.util.function.ToIntBiFunction; import java.util.function.ToIntBiFunction;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.javatuples.Pair;
import com.google.common.cache.Cache; import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader; import com.google.common.cache.CacheLoader;
@ -39,15 +37,16 @@ public class PlayerFinder {
.maximumSize(1000) .maximumSize(1000)
.build(); .build();
private static Cache<Pair<String, Boolean>, UUID> playerId = CacheBuilder.newBuilder() record PlayerIdCacheKey(String pName, boolean old) { }
private static Cache<PlayerIdCacheKey, UUID> playerId = CacheBuilder.newBuilder()
.expireAfterWrite(2, TimeUnit.MINUTES) .expireAfterWrite(2, TimeUnit.MINUTES)
.maximumSize(1000) .maximumSize(1000)
.build(); .build();
public static void clearCacheEntry(UUID pId, String pName) { public static void clearCacheEntry(UUID pId, String pName) {
playerLastKnownName.invalidate(pId); playerLastKnownName.invalidate(pId);
playerId.invalidate(Pair.with(pName.toLowerCase(), true)); playerId.invalidate(new PlayerIdCacheKey(pName.toLowerCase(), true));
playerId.invalidate(Pair.with(pName.toLowerCase(), false)); playerId.invalidate(new PlayerIdCacheKey(pName.toLowerCase(), false));
} }
public static String getLastKnownName(UUID id) { public static String getLastKnownName(UUID id) {
@ -88,7 +87,7 @@ public class PlayerFinder {
return null; // évite une recherche inutile dans la base de donnée return null; // évite une recherche inutile dans la base de donnée
try { try {
return playerId.get(Pair.with(exactName.toLowerCase(), old), () -> { return playerId.get(new PlayerIdCacheKey(exactName.toLowerCase(), old), () -> {
try { try {
SQLPlayer el = DB.getFirst(SQLPlayer.class, SQLPlayer el = DB.getFirst(SQLPlayer.class,
SQLPlayer.playerName.like(exactName.replace("_", "\\_")), SQLPlayer.playerName.like(exactName.replace("_", "\\_")),
@ -204,14 +203,15 @@ public class PlayerFinder {
return DIFF_CHAR_DISTANCE; return DIFF_CHAR_DISTANCE;
}; };
private static LoadingCache<String, List<Pair<String, UUID>>> namesCache = CacheBuilder.newBuilder() record NamesCacheResult(String name, UUID id) { }
private static LoadingCache<String, List<NamesCacheResult>> namesCache = CacheBuilder.newBuilder()
.expireAfterWrite(2, TimeUnit.MINUTES) .expireAfterWrite(2, TimeUnit.MINUTES)
.maximumSize(1) .maximumSize(1)
.build(CacheLoader.from((String k) -> { .build(CacheLoader.from((String k) -> {
List<Pair<String, UUID>> cached = new ArrayList<>(); List<NamesCacheResult> cached = new ArrayList<>();
try { try {
DB.forEach(SQLPlayerNameHistory.class, el -> { DB.forEach(SQLPlayerNameHistory.class, el -> {
cached.add(Pair.with(el.get(SQLPlayerNameHistory.playerName), el.get(SQLPlayerNameHistory.playerId))); cached.add(new NamesCacheResult(el.get(SQLPlayerNameHistory.playerName), el.get(SQLPlayerNameHistory.playerId)));
}); });
} catch (DBException e) { } catch (DBException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
@ -226,12 +226,12 @@ public class PlayerFinder {
List<FoundName> foundNames = new ArrayList<>(); List<FoundName> foundNames = new ArrayList<>();
try { try {
namesCache.get("").forEach(el -> { namesCache.get("").forEach(el -> {
String name = el.getValue0(); String name = el.name();
int dist = new LevenshteinDistance(name.toLowerCase(), query, SURPLUS_CHAR_DISTANCE, MISSING_CHAR_DISTANCE, CHAR_DISTANCE).getCurrentDistance(); int dist = new LevenshteinDistance(name.toLowerCase(), query, SURPLUS_CHAR_DISTANCE, MISSING_CHAR_DISTANCE, CHAR_DISTANCE).getCurrentDistance();
if (dist <= SEARCH_MAX_DISTANCE) { if (dist <= SEARCH_MAX_DISTANCE) {
FoundName n = new FoundName(); FoundName n = new FoundName();
n.dist = dist; n.dist = dist;
n.id = el.getValue1(); n.id = el.id();
n.name = name; n.name = name;
foundNames.add(n); foundNames.add(n);
} }

View File

@ -6,7 +6,7 @@
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-16">
<attributes> <attributes>
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>

View File

@ -1,8 +1,8 @@
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 org.eclipse.jdt.core.compiler.codegen.targetPlatform=16
org.eclipse.jdt.core.compiler.compliance=11 org.eclipse.jdt.core.compiler.compliance=16
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=11 org.eclipse.jdt.core.compiler.source=16

10
pom.xml
View File

@ -37,8 +37,8 @@
<properties> <properties>
<build.number>unknown</build.number> <build.number>unknown</build.number>
<maven.compiler.source>11</maven.compiler.source> <maven.compiler.source>16</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target> <maven.compiler.target>16</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<bungeecord.version>1.16-R0.4-SNAPSHOT</bungeecord.version> <bungeecord.version>1.16-R0.4-SNAPSHOT</bungeecord.version>
@ -54,9 +54,9 @@
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>org.junit.jupiter</groupId>
<artifactId>junit</artifactId> <artifactId>junit-jupiter-api</artifactId>
<version>4.12</version> <version>5.7.2</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
</dependencies> </dependencies>