From 993ddc394034f11f8bdd97e607d747494f6c235e Mon Sep 17 00:00:00 2001 From: RealMangoRage <64402114+RealMangorage@users.noreply.github.com> Date: Tue, 27 Jan 2026 16:11:33 -0800 Subject: [PATCH] Added Module SUpport via Automatic Module Name and fixed the library finder to find resource via the classloader, so it will work in an module environment, can confirm works in non module enviroment (Java 8) --- api/build.gradle | 8 ++++++++ api/src/main/java/club/minnced/opus/util/NativeUtil.java | 2 +- build.gradle | 2 +- natives/build.gradle | 8 ++++++++ 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/api/build.gradle b/api/build.gradle index 166fda9..abc82fa 100644 --- a/api/build.gradle +++ b/api/build.gradle @@ -52,3 +52,11 @@ if (canSign) { sign publishing.publications.Release } } + +jar { + manifest { + attributes( + 'Automatic-Module-Name': 'opus.java.api' + ) + } +} \ No newline at end of file diff --git a/api/src/main/java/club/minnced/opus/util/NativeUtil.java b/api/src/main/java/club/minnced/opus/util/NativeUtil.java index b4af550..b02ed72 100644 --- a/api/src/main/java/club/minnced/opus/util/NativeUtil.java +++ b/api/src/main/java/club/minnced/opus/util/NativeUtil.java @@ -87,7 +87,7 @@ public static void loadLibraryFromJar(String path) throws IOException { int readBytes; // Open and check input stream - InputStream is = NativeUtil.class.getResourceAsStream(path); + InputStream is = NativeUtil.class.getClassLoader().getResourceAsStream(path.replaceFirst("/", "")); if (is == null) { throw new FileNotFoundException("File " + path + " was not found inside JAR."); } diff --git a/build.gradle b/build.gradle index cac6caa..4222887 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ plugins { } group = 'club.minnced' -project.version = '1.1.1' +project.version = '1.1.2' def getProjectProperty(String name) { return project.properties.getOrDefault(name, null) } diff --git a/natives/build.gradle b/natives/build.gradle index 31c20f1..3bdf08a 100644 --- a/natives/build.gradle +++ b/natives/build.gradle @@ -26,4 +26,12 @@ if (canSign) { signing { sign publishing.publications.Release } +} + +jar { + manifest { + attributes( + 'Automatic-Module-Name': 'opus.java.natives' + ) + } } \ No newline at end of file