diff --git a/bungee/isolated/build.gradle.kts b/bungee/isolated/build.gradle.kts index 5a3aea94..2cac9ec7 100644 --- a/bungee/isolated/build.gradle.kts +++ b/bungee/isolated/build.gradle.kts @@ -18,14 +18,12 @@ tasks { archiveVersion = "" archiveClassifier = "" - val bungeeBaseJar = project.projects + val libsDir = project.projects .bungeeBase.dependencyProject - .buildDir - .resolve("libs") - .resolve("floodgate-bungee-base.jar") + .layout.buildDirectory.dir("libs") - from(bungeeBaseJar.parentFile) { - include(bungeeBaseJar.name) + from(libsDir) { + include("floodgate-bungee-base.jar") rename("floodgate-bungee-base.jar", "platform-base.jar") into("bundled/") } diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 80eeee29..11320071 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -6,7 +6,7 @@ plugins { dependencies { api(projects.api) - api(libs.base.api) + compileOnlyApi(libs.base.api) compileOnlyApi(projects.isolation) annotationProcessor(libs.configurate.`interface`.ap) diff --git a/core/src/main/java/org/geysermc/floodgate/core/FloodgatePlatform.java b/core/src/main/java/org/geysermc/floodgate/core/FloodgatePlatform.java index a2ef36ba..a460d559 100644 --- a/core/src/main/java/org/geysermc/floodgate/core/FloodgatePlatform.java +++ b/core/src/main/java/org/geysermc/floodgate/core/FloodgatePlatform.java @@ -47,9 +47,10 @@ import org.geysermc.floodgate.core.database.loader.DatabaseLoader; import org.geysermc.floodgate.core.event.EventBus; import org.geysermc.floodgate.core.event.lifecycle.PostEnableEvent; import org.geysermc.floodgate.core.event.lifecycle.ShutdownEvent; +import org.geysermc.floodgate.isolation.IsolatedPlatform; import org.geysermc.floodgate.isolation.library.LibraryManager; -public abstract class FloodgatePlatform { +public abstract class FloodgatePlatform implements IsolatedPlatform { private static final UUID KEY = UUID.randomUUID(); private final LibraryManager manager; @@ -63,6 +64,7 @@ public abstract class FloodgatePlatform { protected void onContextCreated(ApplicationContext context) { } + @Override public void load() { long startTime = System.currentTimeMillis(); @@ -100,6 +102,7 @@ public abstract class FloodgatePlatform { .translatedInfo("floodgate.core.finish", endTime - startTime); } + @Override public void enable() throws RuntimeException { if (injector == null) { throw new RuntimeException("Failed to find the platform injector!"); @@ -114,6 +117,7 @@ public abstract class FloodgatePlatform { context.getBean(EventBus.class).fire(new PostEnableEvent()); } + @Override public void disable() { context.getBean(EventBus.class).fire(new ShutdownEvent()); diff --git a/core/src/main/java/org/geysermc/floodgate/core/http/link/GlobalLinkClient.java b/core/src/main/java/org/geysermc/floodgate/core/http/link/GlobalLinkClient.java index d575ea98..b283b655 100644 --- a/core/src/main/java/org/geysermc/floodgate/core/http/link/GlobalLinkClient.java +++ b/core/src/main/java/org/geysermc/floodgate/core/http/link/GlobalLinkClient.java @@ -25,7 +25,6 @@ package org.geysermc.floodgate.core.http.link; -import static io.micronaut.http.HttpHeaders.ACCEPT; import static io.micronaut.http.HttpHeaders.USER_AGENT; import io.micronaut.core.async.annotation.SingleResult; @@ -36,7 +35,6 @@ import java.util.concurrent.CompletableFuture; @Client("${http.baseUrl}/v2/link") @Header(name = USER_AGENT, value = "${http.userAgent}") -@Header(name = ACCEPT, value = "application/json") public interface GlobalLinkClient { @Get("/bedrock/{xuid}") @SingleResult diff --git a/isolation/build.gradle.kts b/isolation/build.gradle.kts index 8e431724..b71c6e16 100644 --- a/isolation/build.gradle.kts +++ b/isolation/build.gradle.kts @@ -4,4 +4,5 @@ plugins { dependencies { api(projects.api) + api(libs.base.api) } \ No newline at end of file diff --git a/isolation/src/main/java/org/geysermc/floodgate/isolation/IsolatedPlatform.java b/isolation/src/main/java/org/geysermc/floodgate/isolation/IsolatedPlatform.java new file mode 100644 index 00000000..ab61935d --- /dev/null +++ b/isolation/src/main/java/org/geysermc/floodgate/isolation/IsolatedPlatform.java @@ -0,0 +1,9 @@ +package org.geysermc.floodgate.isolation; + +public interface IsolatedPlatform { + void load(); + + void enable(); + + void disable(); +} diff --git a/spigot/isolated/build.gradle.kts b/spigot/isolated/build.gradle.kts index 40cb4d8a..670f1535 100644 --- a/spigot/isolated/build.gradle.kts +++ b/spigot/isolated/build.gradle.kts @@ -18,14 +18,12 @@ tasks { archiveVersion = "" archiveClassifier = "" - val spigotBaseJar = project.projects + val libsDir = project.projects .spigotBase.dependencyProject - .buildDir - .resolve("libs") - .resolve("floodgate-spigot-base.jar") + .layout.buildDirectory.dir("libs") - from(spigotBaseJar.parentFile) { - include(spigotBaseJar.name) + from(libsDir) { + include("floodgate-spigot-base.jar") rename("floodgate-spigot-base.jar", "platform-base.jar") into("bundled/") } diff --git a/velocity/isolated/build.gradle.kts b/velocity/isolated/build.gradle.kts index 5dc3e446..b32b885c 100644 --- a/velocity/isolated/build.gradle.kts +++ b/velocity/isolated/build.gradle.kts @@ -18,14 +18,12 @@ tasks { archiveVersion = "" archiveClassifier = "" - val velocityBaseJar = project.projects + val libsDir = project.projects .velocityBase.dependencyProject - .buildDir - .resolve("libs") - .resolve("floodgate-velocity-base.jar") + .layout.buildDirectory.dir("libs") - from(velocityBaseJar.parentFile) { - include(velocityBaseJar.name) + from(libsDir) { + include("floodgate-velocity-base.jar") rename("floodgate-velocity-base.jar", "platform-base.jar") into("bundled/") }