From 7624b3a064252a33d3c82ab94ac3577f25b4edc9 Mon Sep 17 00:00:00 2001
From: "BT (calcastor/mame)" <43831917+calcastor@users.noreply.github.com>
Date: Mon, 2 Dec 2024 22:41:30 -0800
Subject: [PATCH] Switch to Spotless, general cleanup, and adapt to upstream
PGM changes (#34)
* Switch to Spotless and cleanup pom.xml
Signed-off-by: BT (calcastor/mame) <43831917+calcastor@users.noreply.github.com>
* Further cleanup
Signed-off-by: BT (calcastor/mame) <43831917+calcastor@users.noreply.github.com>
---------
Signed-off-by: BT (calcastor/mame) <43831917+calcastor@users.noreply.github.com>
---
.github/workflows/ci.yml | 2 +
pom.xml | 90 +++++++++++++++++--
.../format/rounds/veto/VetoController.java | 2 +-
.../format/rounds/veto/VetoHistory.java | 2 +-
.../format/shutdown/ShutdownCountdown.java | 9 +-
.../dev/pgm/events/ready/ReadyManager.java | 2 +-
.../pgm/events/ready/ReadyManagerImpl.java | 16 ++--
.../dev/pgm/events/ready/ReadySystem.java | 2 +-
.../pgm/events/team/DefaultTeamManager.java | 25 +++---
.../java/dev/pgm/events/utils/Response.java | 2 +-
.../java/dev/pgm/events/xml/RoundParser.java | 30 +++----
11 files changed, 123 insertions(+), 59 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 0edb667..fdf04bf 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -10,6 +10,8 @@ jobs:
steps:
- uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
- uses: actions/setup-java@v4
with:
java-version: 21
diff --git a/pom.xml b/pom.xml
index 3c0baac..c2d3f50 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,6 +7,12 @@
1.0.0-SNAPSHOT
Events
+
+ 21
+ 21
+ UTF-8
+
+
ashcon-repo
@@ -35,6 +41,12 @@
jdom2
2.0.6.1
+
+ org.jetbrains
+ annotations
+ 22.0.0
+ provided
+
@@ -44,18 +56,31 @@
maven-compiler-plugin
3.13.0
- 21
- 21
+
+
+ org.incendo
+ cloud-annotations
+ 2.0.0-rc.2
+
+
- com.coveo
- fmt-maven-plugin
- 2.9
+ com.diffplug.spotless
+ spotless-maven-plugin
+ 2.43.0
-
+ origin/master
+
+
+
+ 2.47.0
+
+ true
+
+
@@ -66,6 +91,59 @@
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+ 3.2.1
+
+
+ de.skuzzle.enforcer
+ restrict-imports-enforcer-rule
+ 2.1.0
+
+
+
+
+
+ enforce-jdk
+
+ enforce
+
+
+
+
+
+ [${maven.compiler.target},)
+
+
+
+
+
+
+ enforce-imports
+ process-sources
+
+ enforce
+
+
+
+
+ Use org.jetbrains.annotations to add annotations
+ javax.annotation.**
+
+
+ Use tc.oc.pgm.util.Assert to add assertions
+
+ com.google.common.base.Preconditions.**
+ java.util.Objects.requireNonNull
+
+
+
+
+
+
+
+
org.apache.maven.plugins
maven-shade-plugin
diff --git a/src/main/java/dev/pgm/events/format/rounds/veto/VetoController.java b/src/main/java/dev/pgm/events/format/rounds/veto/VetoController.java
index 81bb2a9..514c4c4 100644
--- a/src/main/java/dev/pgm/events/format/rounds/veto/VetoController.java
+++ b/src/main/java/dev/pgm/events/format/rounds/veto/VetoController.java
@@ -12,7 +12,7 @@
import java.util.List;
import java.util.Optional;
import java.util.Random;
-import javax.annotation.Nullable;
+import org.jetbrains.annotations.Nullable;
public class VetoController {
diff --git a/src/main/java/dev/pgm/events/format/rounds/veto/VetoHistory.java b/src/main/java/dev/pgm/events/format/rounds/veto/VetoHistory.java
index 83845dc..c6489fc 100644
--- a/src/main/java/dev/pgm/events/format/rounds/veto/VetoHistory.java
+++ b/src/main/java/dev/pgm/events/format/rounds/veto/VetoHistory.java
@@ -3,7 +3,7 @@
import dev.pgm.events.format.rounds.veto.settings.VetoOption;
import dev.pgm.events.format.rounds.veto.settings.VetoSettings;
import dev.pgm.events.team.TournamentTeam;
-import javax.annotation.Nullable;
+import org.jetbrains.annotations.Nullable;
public class VetoHistory {
diff --git a/src/main/java/dev/pgm/events/format/shutdown/ShutdownCountdown.java b/src/main/java/dev/pgm/events/format/shutdown/ShutdownCountdown.java
index cea4b0d..17108f1 100644
--- a/src/main/java/dev/pgm/events/format/shutdown/ShutdownCountdown.java
+++ b/src/main/java/dev/pgm/events/format/shutdown/ShutdownCountdown.java
@@ -1,22 +1,17 @@
package dev.pgm.events.format.shutdown;
-import static net.kyori.adventure.key.Key.key;
import static net.kyori.adventure.text.Component.text;
import dev.pgm.events.utils.TimeFormatter;
import java.time.Duration;
-import net.kyori.adventure.sound.Sound;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Bukkit;
import tc.oc.pgm.api.match.Match;
import tc.oc.pgm.countdowns.MatchCountdown;
+import tc.oc.pgm.util.bukkit.Sounds;
public class ShutdownCountdown extends MatchCountdown {
-
- protected static final Sound COUNT_SOUND =
- Sound.sound(key("note.pling"), Sound.Source.MASTER, 1f, 1.19f);
-
public ShutdownCountdown(Match match) {
super(match);
}
@@ -25,7 +20,7 @@ public ShutdownCountdown(Match match) {
public void onTick(Duration remaining, Duration total) {
super.onTick(remaining, total);
if (remaining.getSeconds() >= 1 && remaining.getSeconds() <= 3)
- getMatch().playSound(COUNT_SOUND);
+ getMatch().playSound(Sounds.MATCH_COUNTDOWN);
}
@Override
diff --git a/src/main/java/dev/pgm/events/ready/ReadyManager.java b/src/main/java/dev/pgm/events/ready/ReadyManager.java
index 17a14de..35c4f89 100644
--- a/src/main/java/dev/pgm/events/ready/ReadyManager.java
+++ b/src/main/java/dev/pgm/events/ready/ReadyManager.java
@@ -1,7 +1,7 @@
package dev.pgm.events.ready;
import dev.pgm.events.utils.Response;
-import javax.annotation.Nullable;
+import org.jetbrains.annotations.Nullable;
import tc.oc.pgm.api.match.Match;
import tc.oc.pgm.api.party.Party;
import tc.oc.pgm.api.player.MatchPlayer;
diff --git a/src/main/java/dev/pgm/events/ready/ReadyManagerImpl.java b/src/main/java/dev/pgm/events/ready/ReadyManagerImpl.java
index 8afe817..10972b7 100644
--- a/src/main/java/dev/pgm/events/ready/ReadyManagerImpl.java
+++ b/src/main/java/dev/pgm/events/ready/ReadyManagerImpl.java
@@ -6,9 +6,9 @@
import dev.pgm.events.utils.JoinUtils;
import dev.pgm.events.utils.Response;
import java.time.Duration;
-import javax.annotation.Nullable;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.format.NamedTextColor;
+import org.jetbrains.annotations.Nullable;
import tc.oc.pgm.api.match.Match;
import tc.oc.pgm.api.match.MatchPhase;
import tc.oc.pgm.api.party.Party;
@@ -41,10 +41,9 @@ public void createMatchStart(Match match, Duration duration) {
public void ready(Party party, @Nullable MatchPlayer player) {
Match match = party.getMatch();
- TextComponent.Builder message =
- text()
- .append(party.getName())
- .append(text(" marked as ").append(text("ready", NamedTextColor.GREEN)));
+ TextComponent.Builder message = text()
+ .append(party.getName())
+ .append(text(" marked as ").append(text("ready", NamedTextColor.GREEN)));
if (player != null) message.append(text(" by ").append(player.getName(NameStyle.COLOR)));
match.sendMessage(message);
@@ -59,10 +58,9 @@ public void ready(Party party, @Nullable MatchPlayer player) {
public void unready(Party party, @Nullable MatchPlayer player) {
Match match = party.getMatch();
- TextComponent.Builder message =
- text()
- .append(party.getName())
- .append(text(" marked as ").append(text("unready", NamedTextColor.RED)));
+ TextComponent.Builder message = text()
+ .append(party.getName())
+ .append(text(" marked as ").append(text("unready", NamedTextColor.RED)));
if (player != null) message.append(text(" by ").append(player.getName(NameStyle.COLOR)));
match.sendMessage(message);
diff --git a/src/main/java/dev/pgm/events/ready/ReadySystem.java b/src/main/java/dev/pgm/events/ready/ReadySystem.java
index 63ee219..f3bc4ba 100644
--- a/src/main/java/dev/pgm/events/ready/ReadySystem.java
+++ b/src/main/java/dev/pgm/events/ready/ReadySystem.java
@@ -3,7 +3,7 @@
import java.sql.Timestamp;
import java.time.Duration;
import java.time.Instant;
-import javax.annotation.Nullable;
+import org.jetbrains.annotations.Nullable;
public class ReadySystem {
diff --git a/src/main/java/dev/pgm/events/team/DefaultTeamManager.java b/src/main/java/dev/pgm/events/team/DefaultTeamManager.java
index 136e77d..781bf36 100644
--- a/src/main/java/dev/pgm/events/team/DefaultTeamManager.java
+++ b/src/main/java/dev/pgm/events/team/DefaultTeamManager.java
@@ -8,8 +8,8 @@
import java.util.Map;
import java.util.Optional;
import java.util.UUID;
-import javax.annotation.Nullable;
import org.bukkit.ChatColor;
+import org.jetbrains.annotations.Nullable;
import tc.oc.pgm.api.party.Competitor;
import tc.oc.pgm.api.party.Party;
import tc.oc.pgm.api.player.MatchPlayer;
@@ -120,10 +120,8 @@ private TeamSetup getTeamSetup() {
public void syncTeams() {
List unassigned = new ArrayList<>();
- teams.forEach(
- eventsTeam ->
- fromTournamentTeam(eventsTeam)
- .ifPresent(pgmTeam -> syncTeam(eventsTeam, pgmTeam, unassigned)));
+ teams.forEach(eventsTeam -> fromTournamentTeam(eventsTeam)
+ .ifPresent(pgmTeam -> syncTeam(eventsTeam, pgmTeam, unassigned)));
syncObserverPlayers(unassigned);
}
@@ -141,15 +139,14 @@ private void syncTeam(TournamentTeam eventsTeam, Team pgmTeam, List
}
// Move other players to the team (from obs or other teams)
- toAssign.forEach(
- tournamentPlayer -> {
- MatchPlayer player = pgmTeam.getMatch().getPlayer(tournamentPlayer.getUUID());
- if (player != null && JoinUtils.canJoin(player.getId(), pgmTeam).isAllowed()) {
- if (syncPlayer(player, pgmTeam, joinRequest)) {
- unassigned.remove(player);
- }
- }
- });
+ toAssign.forEach(tournamentPlayer -> {
+ MatchPlayer player = pgmTeam.getMatch().getPlayer(tournamentPlayer.getUUID());
+ if (player != null && JoinUtils.canJoin(player.getId(), pgmTeam).isAllowed()) {
+ if (syncPlayer(player, pgmTeam, joinRequest)) {
+ unassigned.remove(player);
+ }
+ }
+ });
}
private void syncObserverPlayers(List unassigned) {
diff --git a/src/main/java/dev/pgm/events/utils/Response.java b/src/main/java/dev/pgm/events/utils/Response.java
index 9e2901f..e268912 100644
--- a/src/main/java/dev/pgm/events/utils/Response.java
+++ b/src/main/java/dev/pgm/events/utils/Response.java
@@ -2,8 +2,8 @@
import static net.kyori.adventure.text.Component.text;
-import javax.annotation.Nullable;
import net.kyori.adventure.text.Component;
+import org.jetbrains.annotations.Nullable;
public class Response {
diff --git a/src/main/java/dev/pgm/events/xml/RoundParser.java b/src/main/java/dev/pgm/events/xml/RoundParser.java
index 00f83ec..be73fe2 100644
--- a/src/main/java/dev/pgm/events/xml/RoundParser.java
+++ b/src/main/java/dev/pgm/events/xml/RoundParser.java
@@ -23,20 +23,15 @@
public class RoundParser {
public static TournamentRound parse(TournamentFormat format, Element round) {
- switch (round.getName().toLowerCase()) {
- case "match":
- return SingleParser.parse(format, round);
- case "veto":
- return VetoParser.parse(format, round);
- case "result-from":
- return ResultFromParser.parse(format, round);
- case "format":
- return FormatParser.parse(format, round);
- case "veto-selector":
- return new VetoSelectorRound(format, new VetoSelectorSettings());
- }
-
- throw new IllegalArgumentException("Round " + round.getName() + " is not supported!");
+ return switch (round.getName().toLowerCase()) {
+ case "match" -> SingleParser.parse(format, round);
+ case "veto" -> VetoParser.parse(format, round);
+ case "result-from" -> ResultFromParser.parse(format, round);
+ case "format" -> FormatParser.parse(format, round);
+ case "veto-selector" -> new VetoSelectorRound(format, new VetoSelectorSettings());
+ default -> throw new IllegalArgumentException(
+ "Round " + round.getName() + " is not supported!");
+ };
}
public static class SingleParser {
@@ -118,10 +113,9 @@ private static VetoSettings.Veto parseVeto(Element element) {
if (insert.equalsIgnoreCase("back")) type = VetoSettings.VetoType.CHOOSE_LAST;
else if (insert.equalsIgnoreCase("front")) type = VetoSettings.VetoType.CHOOSE_FIRST;
else
- throw new IllegalArgumentException(
- "Invalid insert position "
- + insert
- + ". Valid positions are back (default) or front.");
+ throw new IllegalArgumentException("Invalid insert position "
+ + insert
+ + ". Valid positions are back (default) or front.");
}
if (type == null)