From 3d1e4c8008929447488e1b2656982141ff57f3ef Mon Sep 17 00:00:00 2001 From: david Date: Sun, 7 Sep 2025 11:02:21 +0200 Subject: [PATCH] Added `module-info.java` for modularization Defined `module-info.java` files for core modules to enable Java Platform Module System (JPMS) support. Updated relevant `build.gradle.kts` files and bumped versions to reflect changes. --- adapters/build.gradle.kts | 2 +- adapters/src/main/java/module-info.java | 15 +++++++++++++ files/build.gradle.kts | 2 +- files/src/main/java/module-info.java | 10 +++++++++ functions/build.gradle.kts | 2 +- functions/src/main/java/module-info.java | 5 +++++ i18n/build.gradle.kts | 2 +- i18n/src/main/java/module-info.java | 13 +++++++++++ paper/build.gradle.kts | 17 ++++++++++++-- paper/src/main/java/module-info.java | 22 +++++++++++++++++++ utils/build.gradle.kts | 2 +- utils/src/main/java/module-info.java | 6 +++++ version-checker/build.gradle.kts | 2 +- .../src/main/java/module-info.java | 11 ++++++++++ 14 files changed, 103 insertions(+), 8 deletions(-) create mode 100644 adapters/src/main/java/module-info.java create mode 100644 files/src/main/java/module-info.java create mode 100644 functions/src/main/java/module-info.java create mode 100644 i18n/src/main/java/module-info.java create mode 100644 paper/src/main/java/module-info.java create mode 100644 utils/src/main/java/module-info.java create mode 100644 version-checker/src/main/java/module-info.java diff --git a/adapters/build.gradle.kts b/adapters/build.gradle.kts index 3b7c1c9..6c2fabe 100644 --- a/adapters/build.gradle.kts +++ b/adapters/build.gradle.kts @@ -14,7 +14,7 @@ tasks.compileJava { } group = "net.thenextlvl.core" -version = "2.0.2" +version = "2.0.3" repositories { mavenCentral() diff --git a/adapters/src/main/java/module-info.java b/adapters/src/main/java/module-info.java new file mode 100644 index 0000000..4dfe5b1 --- /dev/null +++ b/adapters/src/main/java/module-info.java @@ -0,0 +1,15 @@ +module core.adapters { + requires com.google.gson; + requires net.kyori.adventure.key; + requires net.kyori.examination.api; + requires org.bukkit; + + requires static org.jspecify; + + exports core.paper.adapters.api; + exports core.paper.adapters.inventory; + exports core.paper.adapters.key; + exports core.paper.adapters.player; + exports core.paper.adapters.plugin; + exports core.paper.adapters.world; +} \ No newline at end of file diff --git a/files/build.gradle.kts b/files/build.gradle.kts index d0e6d3b..d5710b4 100644 --- a/files/build.gradle.kts +++ b/files/build.gradle.kts @@ -15,7 +15,7 @@ tasks.compileJava { } group = "net.thenextlvl.core" -version = "3.0.0" +version = "3.0.1" repositories { mavenCentral() diff --git a/files/src/main/java/module-info.java b/files/src/main/java/module-info.java new file mode 100644 index 0000000..f197ade --- /dev/null +++ b/files/src/main/java/module-info.java @@ -0,0 +1,10 @@ +module core.files { + requires com.google.gson; + + requires static org.jspecify; + + exports core.file; + exports core.file.format; + exports core.file.format.separator; + exports core.io; +} \ No newline at end of file diff --git a/functions/build.gradle.kts b/functions/build.gradle.kts index e3acea3..2abc82b 100644 --- a/functions/build.gradle.kts +++ b/functions/build.gradle.kts @@ -22,7 +22,7 @@ dependencies { } group = "net.thenextlvl.core" -version = "1.0.1" +version = "1.0.2" publishing { publications.create("maven") { diff --git a/functions/src/main/java/module-info.java b/functions/src/main/java/module-info.java new file mode 100644 index 0000000..abef0e2 --- /dev/null +++ b/functions/src/main/java/module-info.java @@ -0,0 +1,5 @@ +module core.functions { + exports core.function; + + requires static org.jspecify; +} \ No newline at end of file diff --git a/i18n/build.gradle.kts b/i18n/build.gradle.kts index 14d92fc..099ec0e 100644 --- a/i18n/build.gradle.kts +++ b/i18n/build.gradle.kts @@ -15,7 +15,7 @@ tasks.compileJava { } group = "net.thenextlvl.core" -version = "3.2.1" +version = "3.2.2" repositories { mavenCentral() diff --git a/i18n/src/main/java/module-info.java b/i18n/src/main/java/module-info.java new file mode 100644 index 0000000..40ad36e --- /dev/null +++ b/i18n/src/main/java/module-info.java @@ -0,0 +1,13 @@ +module i18n { + requires core.files; + requires net.kyori.adventure.key; + requires net.kyori.adventure.text.minimessage; + requires net.kyori.adventure; + requires net.kyori.examination.api; + requires org.slf4j; + + requires static org.jetbrains.annotations; + requires static org.jspecify; + + exports core.i18n.file; +} \ No newline at end of file diff --git a/paper/build.gradle.kts b/paper/build.gradle.kts index 53ebdef..d33b51f 100644 --- a/paper/build.gradle.kts +++ b/paper/build.gradle.kts @@ -15,7 +15,7 @@ tasks.compileJava { } group = "net.thenextlvl.core" -version = "2.3.0-pre4" +version = "2.3.1" repositories { mavenCentral() @@ -30,9 +30,22 @@ dependencies { } } -tasks.javadoc { +tasks.withType().configureEach { + options.compilerArgs.addAll(listOf("--add-reads", "core.paper=ALL-UNNAMED")) +} + +tasks.withType().configureEach { + jvmArgs("--add-reads", "core.paper=ALL-UNNAMED") +} + +tasks.withType().configureEach { + jvmArgs("--add-reads", "core.paper=ALL-UNNAMED") +} + +tasks.withType().configureEach { val options = options as StandardJavadocDocletOptions options.tags("apiNote:a:API Note:", "implSpec:a:Implementation Requirements:") + options.addStringOption("-add-reads", "core.paper=ALL-UNNAMED") } publishing { diff --git a/paper/src/main/java/module-info.java b/paper/src/main/java/module-info.java new file mode 100644 index 0000000..7ee5b86 --- /dev/null +++ b/paper/src/main/java/module-info.java @@ -0,0 +1,22 @@ +module core.paper { + requires com.google.common; + requires net.kyori.adventure.key; + requires net.kyori.adventure; + requires net.kyori.examination.api; + requires org.bukkit; + requires org.slf4j; + + requires static org.jetbrains.annotations; + requires static org.jspecify; + requires core.version; + + exports core.paper.cache; + exports core.paper.command; + exports core.paper.command.argument; + exports core.paper.command.argument.codec; + exports core.paper.gui; + exports core.paper.item; + exports core.paper.messenger; + exports core.paper.scoreboard; + exports core.paper.version; +} \ No newline at end of file diff --git a/utils/build.gradle.kts b/utils/build.gradle.kts index d873195..1aa61df 100644 --- a/utils/build.gradle.kts +++ b/utils/build.gradle.kts @@ -14,7 +14,7 @@ tasks.compileJava { } group = "net.thenextlvl.core" -version = "1.1.1" +version = "1.1.2" repositories { mavenCentral() diff --git a/utils/src/main/java/module-info.java b/utils/src/main/java/module-info.java new file mode 100644 index 0000000..1429e39 --- /dev/null +++ b/utils/src/main/java/module-info.java @@ -0,0 +1,6 @@ +module core.utils { + requires static org.jetbrains.annotations; + requires static org.jspecify; + + exports core.util; +} \ No newline at end of file diff --git a/version-checker/build.gradle.kts b/version-checker/build.gradle.kts index eb5688d..496e469 100644 --- a/version-checker/build.gradle.kts +++ b/version-checker/build.gradle.kts @@ -15,7 +15,7 @@ tasks.compileJava { } group = "net.thenextlvl.core" -version = "2.1.1" +version = "2.1.2" repositories { mavenCentral() diff --git a/version-checker/src/main/java/module-info.java b/version-checker/src/main/java/module-info.java new file mode 100644 index 0000000..84e4ef8 --- /dev/null +++ b/version-checker/src/main/java/module-info.java @@ -0,0 +1,11 @@ +module core.version { + requires com.google.gson; + requires java.net.http; + + requires static org.jspecify; + + exports core.version.github; + exports core.version.hangar; + exports core.version.modrinth; + exports core.version; +} \ No newline at end of file