Skip to content

Commit d6a7821

Browse files
authored
feat: support fabric 1.21.11 (#28)
1 parent 029ee83 commit d6a7821

File tree

24 files changed

+505
-393
lines changed

24 files changed

+505
-393
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,4 @@ jobs:
5656
run: ./gradlew build --build-cache --info
5757

5858
- name: Build all Fabric versions
59-
run: ./gradlew :fabric:1.20.1:remapJar :fabric:1.21.1:remapJar :fabric:1.21.4:remapJar --build-cache
59+
run: ./gradlew :fabric:1.20.1:remapJar :fabric:1.21.1:remapJar :fabric:1.21.4:remapJar :fabric:1.21.11:remapJar --build-cache

.github/workflows/e2e.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,14 @@ jobs:
4747
mc_version: "1.21.4"
4848
java_image: "java21"
4949
fabric_loader: "0.16.9"
50+
# Fabric 1.21.11 (current latest, Java 21)
51+
- platform: Fabric-1.21.11
52+
task: testFabric_1_21_11
53+
build_task: ":fabric:1.21.11:remapJar"
54+
compose_dir: platforms/fabric
55+
mc_version: "1.21.11"
56+
java_image: "java21"
57+
fabric_loader: "0.17.3"
5058
# Sponge API 11 (MC 1.20.6, Java 21)
5159
- platform: Sponge-1.20.6
5260
task: testSponge_1_20_6

buildSrc/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ repositories {
1818

1919
dependencies {
2020
implementation(gradleApi())
21-
implementation("com.gradleup.shadow:com.gradleup.shadow.gradle.plugin:9.0.0-beta4")
21+
implementation("com.gradleup.shadow:com.gradleup.shadow.gradle.plugin:9.3.1")
2222
implementation("org.jfrog.buildinfo:build-info-extractor-gradle:5.2.5")
23-
implementation("org.spongepowered:spongegradle-plugin-development:2.0.0")
24-
implementation("fabric-loom:fabric-loom.gradle.plugin:1.9.2")
23+
implementation("org.spongepowered:spongegradle-plugin-development:2.3.0")
24+
implementation("fabric-loom:fabric-loom.gradle.plugin:1.15.3")
2525
}
Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
import org.gradle.api.Project
22
import org.gradle.api.plugins.ExtraPropertiesExtension
3-
import org.gradle.api.plugins.JavaPluginConvention
4-
import org.gradle.api.tasks.SourceSetContainer
53
import org.gradle.kotlin.dsl.getByType
6-
import org.gradle.kotlin.dsl.the
74

85
val Project.ext: ExtraPropertiesExtension
96
get() = extensions.getByType()
10-
11-
val Project.sourceSets: SourceSetContainer
12-
get() = the<JavaPluginConvention>().sourceSets

bukkit/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ dependencies {
2626
api(project(":BanManagerWebEnhancerCommon")) {
2727
isTransitive = true
2828
}
29-
compileOnly("me.confuser.banmanager:BanManagerBukkit:7.10.0")
29+
compileOnly("me.confuser.banmanager:BanManagerBukkit:7.11.0-SNAPSHOT")
3030

3131
compileOnly("org.spigotmc:spigot-api:1.17.1-R0.1-SNAPSHOT") {
3232
exclude("junit", "junit")
@@ -41,7 +41,7 @@ tasks.named<Copy>("processResources") {
4141
inputs.property("internalVersion", internalVersion)
4242

4343
filesMatching("plugin.yml") {
44-
expand("internalVersion" to internalVersion, "mainPath" to "me.confuser.banmanager.webenhancer.bukkit.BukkitPlugin")
44+
expand(mapOf("internalVersion" to internalVersion, "mainPath" to "me.confuser.banmanager.webenhancer.bukkit.BukkitPlugin"))
4545
}
4646
}
4747

bungee/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ dependencies {
2626
api(project(":BanManagerWebEnhancerCommon")) {
2727
isTransitive = true
2828
}
29-
compileOnly("me.confuser.banmanager:BanManagerBungee:7.10.0")
29+
compileOnly("me.confuser.banmanager:BanManagerBungee:7.11.0-SNAPSHOT")
3030

3131
compileOnly("net.md-5:bungeecord-api:1.21-R0.4")
3232
"shadeOnly"("org.bstats:bstats-bungeecord:2.2.1")
@@ -38,7 +38,7 @@ tasks.named<Copy>("processResources") {
3838
inputs.property("internalVersion", internalVersion)
3939

4040
filesMatching("plugin.yml") {
41-
expand("internalVersion" to internalVersion, "mainPath" to "me.confuser.banmanager.webenhancer.bungee.BungeePlugin")
41+
expand(mapOf("internalVersion" to internalVersion, "mainPath" to "me.confuser.banmanager.webenhancer.bungee.BungeePlugin"))
4242
}
4343
}
4444

common/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ applyPlatformAndCoreConfiguration()
88
dependencies {
99
api(project(":BanManagerWebEnhancerLibs"))
1010

11-
api("me.confuser.banmanager:BanManagerCommon:7.10.0")
12-
api("me.confuser.banmanager.BanManagerLibs:BanManagerLibs:7.10.0")
11+
api("me.confuser.banmanager:BanManagerCommon:7.11.0-SNAPSHOT")
12+
api("me.confuser.banmanager.BanManagerLibs:BanManagerLibs:7.11.0-SNAPSHOT")
1313

1414
// Test dependencies
1515
testImplementation("junit:junit:4.13")

common/src/main/java/me/confuser/banmanager/webenhancer/common/WebEnhancerPlugin.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import me.confuser.banmanager.common.*;
55
import me.confuser.banmanager.common.api.BmAPI;
66
import me.confuser.banmanager.common.commands.CommonCommand;
7+
import me.confuser.banmanager.common.configs.Config;
78
import me.confuser.banmanager.common.configs.PluginInfo;
89
import me.confuser.banmanager.webenhancer.common.commands.PinCommand;
910
import me.confuser.banmanager.webenhancer.common.configs.DefaultConfig;
@@ -66,10 +67,22 @@ public final void enable() throws Exception {
6667
}
6768

6869
public void setupConfigs() {
69-
new MessagesConfig(dataFolder, logger).load();
70+
loadConfigCompat(new MessagesConfig(dataFolder, logger));
7071

7172
config = new DefaultConfig(dataFolder, logger);
72-
config.load();
73+
loadConfigCompat(config);
74+
}
75+
76+
/**
77+
* Supports BanManager config API changes where Config#load() can vary by return type.
78+
*/
79+
private void loadConfigCompat(Config config) {
80+
try {
81+
config.getClass().getMethod("load").invoke(config);
82+
} catch (ReflectiveOperationException e) {
83+
logger.severe("Failed to load config " + config.getClass().getSimpleName() + ": " + e.getMessage());
84+
throw new IllegalStateException("Failed to load config " + config.getClass().getSimpleName(), e);
85+
}
7386
}
7487

7588
public void setupStorage() throws SQLException {

e2e/build.gradle.kts

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ fun registerCopyBanManagerFabricTask(mcVersion: String) {
3737
registerCopyBanManagerFabricTask("1.20.1")
3838
registerCopyBanManagerFabricTask("1.21.1")
3939
registerCopyBanManagerFabricTask("1.21.4")
40+
registerCopyBanManagerFabricTask("1.21.11")
4041

4142
tasks.register<Copy>("copyBanManagerSpongeJar") {
4243
group = "verification"
@@ -83,6 +84,7 @@ fun registerCopyWebEnhancerFabricTask(mcVersion: String) {
8384
registerCopyWebEnhancerFabricTask("1.20.1")
8485
registerCopyWebEnhancerFabricTask("1.21.1")
8586
registerCopyWebEnhancerFabricTask("1.21.4")
87+
registerCopyWebEnhancerFabricTask("1.21.11")
8688

8789
tasks.register<Copy>("copyWebEnhancerSpongeJar") {
8890
group = "verification"
@@ -161,7 +163,8 @@ data class FabricVersion(val mcVersion: String, val javaImage: String, val fabri
161163
val fabricVersions = listOf(
162164
FabricVersion("1.20.1", "java17", "0.16.10"),
163165
FabricVersion("1.21.1", "java21", "0.16.9"),
164-
FabricVersion("1.21.4", "java21", "0.16.9")
166+
FabricVersion("1.21.4", "java21", "0.16.9"),
167+
FabricVersion("1.21.11", "java21", "0.17.3")
165168
)
166169

167170
// Sponge version configurations
@@ -200,11 +203,11 @@ fun createPlatformTestTask(
200203
)
201204

202205
doLast {
203-
exec {
204-
workingDir = file("platforms/$platformDir")
205-
commandLine("docker", "compose", "down", "-v")
206-
isIgnoreExitValue = true
207-
}
206+
ProcessBuilder("docker", "compose", "down", "-v")
207+
.directory(file("platforms/$platformDir"))
208+
.inheritIO()
209+
.start()
210+
.waitFor()
208211
}
209212
}
210213
}
@@ -247,12 +250,12 @@ fabricVersions.forEach { version ->
247250
createPlatformTestTask(
248251
"testFabric",
249252
"fabric",
250-
"prepareFabric_1_21_4Jars",
251-
"Run Fabric E2E tests in Docker (latest: 1.21.4)",
253+
"prepareFabric_1_21_11Jars",
254+
"Run Fabric E2E tests in Docker (latest: 1.21.11)",
252255
mapOf(
253-
"MC_VERSION" to "1.21.4",
256+
"MC_VERSION" to "1.21.11",
254257
"JAVA_IMAGE" to "java21",
255-
"FABRIC_LOADER" to "0.16.9"
258+
"FABRIC_LOADER" to "0.17.3"
256259
)
257260
)
258261

@@ -438,14 +441,14 @@ fabricVersions.forEach { version ->
438441

439442
tasks.register<Exec>("startFabric") {
440443
group = "verification"
441-
description = "Start the Fabric test server without running tests (for debugging) - latest: 1.21.4"
444+
description = "Start the Fabric test server without running tests (for debugging) - latest: 1.21.11"
442445

443-
dependsOn("prepareFabric_1_21_4Jars")
446+
dependsOn("prepareFabric_1_21_11Jars")
444447

445448
workingDir = file("platforms/fabric")
446-
environment("MC_VERSION", "1.21.4")
449+
environment("MC_VERSION", "1.21.11")
447450
environment("JAVA_IMAGE", "java21")
448-
environment("FABRIC_LOADER", "0.16.9")
451+
environment("FABRIC_LOADER", "0.17.3")
449452
commandLine("docker", "compose", "up", "-d", "mariadb", "fabric")
450453
}
451454

@@ -627,11 +630,11 @@ tasks.register<Exec>("logsBungee") {
627630
tasks.named("clean") {
628631
doLast {
629632
listOf("bukkit", "fabric", "sponge", "sponge7", "velocity", "bungee").forEach { platform ->
630-
exec {
631-
workingDir = file("platforms/$platform")
632-
commandLine("docker", "compose", "down", "-v", "--rmi", "local")
633-
isIgnoreExitValue = true
634-
}
633+
ProcessBuilder("docker", "compose", "down", "-v", "--rmi", "local")
634+
.directory(file("platforms/$platform"))
635+
.inheritIO()
636+
.start()
637+
.waitFor()
635638
}
636639
}
637640
}

e2e/platforms/fabric/docker-compose.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ services:
2121
environment:
2222
EULA: "TRUE"
2323
TYPE: "FABRIC"
24-
VERSION: "${MC_VERSION:-1.21.4}"
25-
FABRIC_LOADER_VERSION: "${FABRIC_LOADER:-0.16.9}"
24+
VERSION: "${MC_VERSION:-1.21.11}"
25+
FABRIC_LOADER_VERSION: "${FABRIC_LOADER:-0.17.3}"
2626
ONLINE_MODE: "false"
2727
# Skip re-downloading server JAR just to verify hash (speeds up cached runs)
2828
SKIP_SERVER_JAR_HASH_CHECK: "true"
@@ -42,11 +42,11 @@ services:
4242
COPY_CONFIG_SRC: "/config"
4343
COPY_CONFIG_DEST: "/data/config"
4444
volumes:
45-
- ../../jars/BanManagerFabric-mc${MC_VERSION:-1.21.4}.jar:/mods-src/BanManager.jar:ro
46-
- ../../jars/BanManagerWebEnhancerFabric-mc${MC_VERSION:-1.21.4}.jar:/mods-src/BanManagerWebEnhancer.jar:ro
45+
- ../../jars/BanManagerFabric-mc${MC_VERSION:-1.21.11}.jar:/mods-src/BanManager.jar:ro
46+
- ../../jars/BanManagerWebEnhancerFabric-mc${MC_VERSION:-1.21.11}.jar:/mods-src/BanManagerWebEnhancer.jar:ro
4747
- ./configs/banmanager:/config/banmanager:ro
4848
- ./configs/banmanager-webenhancer:/config/banmanager-webenhancer:ro
49-
- fabric-data-${MC_VERSION:-1.21.4}:/data
49+
- fabric-data-${MC_VERSION:-1.21.11}:/data
5050
depends_on:
5151
mariadb:
5252
condition: service_healthy
@@ -72,7 +72,7 @@ services:
7272
RCON_HOST: fabric
7373
RCON_PORT: 25575
7474
RCON_PASSWORD: testing
75-
MC_VERSION: "${MC_VERSION:-1.21.4}"
75+
MC_VERSION: "${MC_VERSION:-1.21.11}"
7676
DB_HOST: mariadb
7777
DB_PORT: 3306
7878
DB_NAME: banmanager
@@ -92,4 +92,5 @@ volumes:
9292
fabric-data-1.20.1:
9393
fabric-data-1.21.1:
9494
fabric-data-1.21.4:
95+
fabric-data-1.21.11:
9596
jest-cache:

0 commit comments

Comments
 (0)