diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 7326072..007d472 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -3,5 +3,5 @@ on: [pull_request] jobs: build: - uses: OneLiteFeatherNET/workflows/.github/workflows/gradle-build-pr.yml@claude/implement-release-please-9inVJ + uses: OneLiteFeatherNET/workflows/.github/workflows/gradle-build-pr.yml@v2.1.0 secrets: inherit diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 6bc704d..8cfb25c 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -5,5 +5,5 @@ on: jobs: publish: - uses: OneLiteFeatherNET/workflows/.github/workflows/gradle-publish.yml@v2.0.0 + uses: OneLiteFeatherNET/workflows/.github/workflows/gradle-publish.yml@v2.1.0 secrets: inherit diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c234cdc..16db3ee 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -6,7 +6,7 @@ plugins { } dependencies { - compileOnly(libs.luckperms.api) + implementation(libs.luckperms.api) implementation(project(":api")) implementation(project(":common")) implementation(platform(libs.mycelium.bom)) @@ -18,10 +18,7 @@ dependencies { implementation(libs.minestom) implementation(libs.butterfly.minestom) - implementation(libs.luckperms.common) - implementation(libs.luckperms.common.loader.utils) - implementation(libs.luckperms.minestom.app) - implementation(libs.luckperms.minestom) + implementation(libs.luckperms.minestom.loader) implementation(platform(libs.cloudnet.bom)) implementation(libs.cloudnet.jvm.wrapper) @@ -61,6 +58,11 @@ tasks { archiveClassifier.set("") archiveFileName.set("app-titan.jar") mergeServiceFiles() + // Shaded deps ship signed and multi-release jars that break a + // relocation-free application fat jar; drop signatures and module-info. + exclude("META-INF/*.SF", "META-INF/*.DSA", "META-INF/*.RSA") + exclude("module-info.class", "META-INF/versions/**/module-info.class") + duplicatesStrategy = DuplicatesStrategy.EXCLUDE } test { useJUnitPlatform() diff --git a/app/src/main/java/net/onelitefeather/titan/app/TitanApplication.java b/app/src/main/java/net/onelitefeather/titan/app/TitanApplication.java index a745f6c..abacc45 100644 --- a/app/src/main/java/net/onelitefeather/titan/app/TitanApplication.java +++ b/app/src/main/java/net/onelitefeather/titan/app/TitanApplication.java @@ -18,7 +18,7 @@ import eu.cloudnetservice.driver.inject.InjectionLayer; import eu.cloudnetservice.modules.bridge.impl.platform.minestom.MinestomBridgeExtension; import net.minestom.server.MinecraftServer; -import net.onelitefeather.titan.app.luckperms.MinestomLoader; +import me.lucko.luckperms.minestom.loader.MinestomLoader; public class TitanApplication { diff --git a/app/src/main/java/net/onelitefeather/titan/app/luckperms/MinestomLoader.java b/app/src/main/java/net/onelitefeather/titan/app/luckperms/MinestomLoader.java deleted file mode 100644 index 6d02a54..0000000 --- a/app/src/main/java/net/onelitefeather/titan/app/luckperms/MinestomLoader.java +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Copyright 2025 OneLiteFeather Network - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package net.onelitefeather.titan.app.luckperms; - - -import me.lucko.luckperms.minestom.LPMinestomBootstrap; -import me.lucko.luckperms.minestom.app.LuckPermsApplication; - -public final class MinestomLoader { - private static final LuckPermsApplication APPLICATION = new LuckPermsApplication(); - private static MinestomLoader instance; - private final LPMinestomBootstrap plugin; - - public MinestomLoader() { - this.plugin = new LPMinestomBootstrap(APPLICATION); - } - - public MinestomLoader registerShutdownHook() { - Runtime.getRuntime().addShutdownHook(new Thread(this.plugin::onDisable, "luckperms-shutdown-hook")); - return this; - } - - public MinestomLoader load() { - this.plugin.onLoad(); - return this; - } - - public void start() { - this.plugin.onEnable(); - } - - public static MinestomLoader get() { - MinestomLoader localInstance = instance; - if (localInstance != null) { - return localInstance; - } - synchronized (MinestomLoader.class) { - if (instance == null) { - instance = new MinestomLoader(); - } - return instance; - } - } -} diff --git a/settings.gradle.kts b/settings.gradle.kts index 0440b26..c5e5b40 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -26,10 +26,10 @@ dependencyResolutionManagement { versionCatalogs { create("libs") { - version("aonyx-bom", "0.7.1") + version("aonyx-bom", "0.7.2") version("mycelium-bom", "1.6.4") version("cloudnet", "4.0.0-RC17-SNAPSHOT") - version("butterfly", "1.0.21") + version("butterfly", "1.0.23") version("luckperms", "5.6-SNAPSHOT") @@ -43,7 +43,7 @@ dependencyResolutionManagement { // Minestom library("aonyx-bom", "net.onelitefeather", "aonyx-bom").versionRef("aonyx-bom") library("mycelium-bom", "net.onelitefeather", "mycelium-bom").versionRef("mycelium-bom") - library("minestom","net.minestom", "minestom").withoutVersion() + library("minestom","net.minestom", "minestom").version("2026.05.17-1.21.11") library("aves", "net.theevilreaper", "aves").version("1.9.0") library("adventure.minimessage", "net.kyori", "adventure-text-minimessage").withoutVersion() library("butterfly-minestom", "net.onelitefeather", "butterfly-minestom").versionRef("butterfly") @@ -69,6 +69,7 @@ dependencyResolutionManagement { library("luckperms.minestom.app", "net.luckperms", "minestom-app").versionRef("luckperms") library("luckperms.common", "net.luckperms", "common").versionRef("luckperms") library("luckperms.common.loader.utils", "net.luckperms", "loader-utils").versionRef("luckperms") + library("luckperms.minestom.loader", "net.luckperms", "minestom-loader").versionRef("luckperms") library("cyano", "net.onelitefeather", "cyano").withoutVersion() library("mockito", "org.mockito", "mockito-core").versionRef("mockito")