diff --git a/api/build.gradle.kts b/api/build.gradle.kts deleted file mode 100644 index 9a45d25f..00000000 --- a/api/build.gradle.kts +++ /dev/null @@ -1,101 +0,0 @@ -plugins { - id("net.neoforged.moddev") version "0.1.124" - id("com.diffplug.spotless") version "7.0.0.BETA1" - id("maven-publish") - java - idea -} - -val ae2Version: String by project -val neoforgeVersion: String by project -val mavenGroup: String by project -val modID: String by project - - -version = "0.0.0-SNAPSHOT" - -val pr = System.getenv("PR_NUMBER") ?: "" -if (pr != "") { - version = "0.0.0-pr$pr" -} - -val tag = System.getenv("TAG") ?: "" -if (tag != "") { - version = tag -} - -val artifactVersion = version - -java.toolchain.languageVersion = JavaLanguageVersion.of(21) - -dependencies { - implementation("appeng:appliedenergistics2:${ae2Version}") - implementation("com.google.code.findbugs:jsr305:3.0.2") -} - -tasks { - processResources { - // Ensure the resources get re-evaluate when the version changes - inputs.property("version", version) - inputs.property("ae2_version", ae2Version) - - val replaceProperties = mapOf( - "version" to version as String, "ae2_version" to ae2Version - ) - - inputs.properties(replaceProperties) - filesMatching("META-INF/neoforge.mods.toml") { - expand(replaceProperties) - } - } - withType { - options.encoding = "UTF-8" - } -} - -neoForge { - version = neoforgeVersion - mods { - create(modID) { - sourceSet(sourceSets.main.get()) - } - } - runs { - configureEach { - gameDirectory.file("run") - systemProperty("forge.logging.console.level", "debug") - } - - create("api_client") { - client() - } - create("api_server") { - server() - } - } -} - -publishing { - publications { - create(modID) { - groupId = mavenGroup - artifactId = modID - version = artifactVersion.toString() - - from(components["java"]) - } - } -} - -spotless { - java { - target("/src/**/java/**/*.java") - - endWithNewline() - indentWithSpaces() - removeUnusedImports() - toggleOffOn() - eclipse().configFile("../codeformat/codeformat.xml") - importOrderFile("../codeformat/ae2wtlib.importorder") - } -} \ No newline at end of file diff --git a/api/gradle.properties b/api/gradle.properties deleted file mode 100644 index 6c29adcc..00000000 --- a/api/gradle.properties +++ /dev/null @@ -1 +0,0 @@ -modID=ae2wtlib_api \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 5c549500..0bb3672c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("net.neoforged.moddev") version "0.1.124" + id("net.neoforged.moddev") version "0.1.126" id("com.diffplug.spotless") version "7.0.0.BETA1" id("maven-publish") java @@ -35,11 +35,22 @@ val artifactVersion = version java.toolchain.languageVersion = JavaLanguageVersion.of(21) +sourceSets { + create("api") +} + +configurations { + get("apiCompileOnly").extendsFrom(compileOnly.get()) + get("apiImplementation").extendsFrom(implementation.get()) + get("apiRuntimeOnly").extendsFrom(runtimeOnly.get()) + compileClasspath.get().extendsFrom(create("localCompileOnly")) +} + dependencies { //implementation("top.theillusivec4.curios:curios-neoforge:${curiosVersion}") implementation("appeng:appliedenergistics2:${ae2Version}") - jarJar(project(path = ":api")) - implementation(project(path = ":api")) + configurations["localCompileOnly"].invoke(sourceSets["api"].output) + jarJar(sourceSets["api"].output) compileOnly("me.shedaniel:RoughlyEnoughItems-neoforge:${reiVersion}") compileOnly("mezz.jei:jei-${jeiMinecraftVersion}-neoforge:${jeiVersion}") @@ -69,48 +80,46 @@ dependencies { //runtimeOnly(fg.deobf("maven.modrinth:aeinfinitybooster:1.20.1-1.0.0+20")) } -allprojects { - repositories { - mavenLocal() - mavenCentral() - maven { - url = uri("https://modmaven.dev/") - content { - includeGroup("appeng") - includeGroup("mezz.jei") - } - } - maven { - url = uri("https://maven.shedaniel.me/") - content { - includeGroup("me.shedaniel") - includeGroup("me.shedaniel.cloth") - includeGroup("dev.architectury") - } - } - maven { - url = uri("https://maven.terraformersmc.com/") - content { - includeGroup("dev.emi") - } - } - maven { - url = uri("https://maven.theillusivec4.top/") - content { - includeGroup("top.theillusivec4.curios") - } - } - maven { - url = uri("https://api.modrinth.com/maven") - content { - includeGroup("maven.modrinth") - } +repositories { + mavenLocal() + mavenCentral() + maven { + url = uri("https://modmaven.dev/") + content { + includeGroup("appeng") + includeGroup("mezz.jei") + } + } + maven { + url = uri("https://maven.shedaniel.me/") + content { + includeGroup("me.shedaniel") + includeGroup("me.shedaniel.cloth") + includeGroup("dev.architectury") + } + } + maven { + url = uri("https://maven.terraformersmc.com/") + content { + includeGroup("dev.emi") + } + } + maven { + url = uri("https://maven.theillusivec4.top/") + content { + includeGroup("top.theillusivec4.curios") + } + } + maven { + url = uri("https://api.modrinth.com/maven") + content { + includeGroup("maven.modrinth") } } } tasks { - processResources { + withType { // Ensure the resources get re-evaluate when the version changes inputs.property("version", version) inputs.property("ae2_version", ae2Version) @@ -127,6 +136,9 @@ tasks { withType { options.encoding = "UTF-8" } + register("apiJar", Jar::class) { + from(sourceSets["api"].output) + } } neoForge { @@ -135,6 +147,9 @@ neoForge { create(modID) { sourceSet(sourceSets.main.get()) } + create(modID + "_api") { + sourceSet(sourceSets["api"]) + } } runs { configureEach { @@ -160,6 +175,15 @@ publishing { from(components["java"]) } + create(modID + "_api") { + groupId = mavenGroup + artifactId = modID + "_api" + version = artifactVersion.toString() + + artifact(tasks["apiJar"]) + } + tasks["publishAe2wtlib_apiPublicationToMavenLocal"].dependsOn(tasks["jar"]) + tasks["generateMetadataFileForAe2wtlibPublication"].dependsOn(tasks["apiJar"]) } } diff --git a/settings.gradle.kts b/settings.gradle.kts index 18bfd94f..2e893a5e 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,2 +1 @@ rootProject.name = "ae2wtlib" -include("api") diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/AE2wtlibAPI.java b/src/api/java/de/mari_023/ae2wtlib/api/AE2wtlibAPI.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/AE2wtlibAPI.java rename to src/api/java/de/mari_023/ae2wtlib/api/AE2wtlibAPI.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/AE2wtlibAPIEntrypoint.java b/src/api/java/de/mari_023/ae2wtlib/api/AE2wtlibAPIEntrypoint.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/AE2wtlibAPIEntrypoint.java rename to src/api/java/de/mari_023/ae2wtlib/api/AE2wtlibAPIEntrypoint.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/AE2wtlibAPIImpl.java b/src/api/java/de/mari_023/ae2wtlib/api/AE2wtlibAPIImpl.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/AE2wtlibAPIImpl.java rename to src/api/java/de/mari_023/ae2wtlib/api/AE2wtlibAPIImpl.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/AE2wtlibComponents.java b/src/api/java/de/mari_023/ae2wtlib/api/AE2wtlibComponents.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/AE2wtlibComponents.java rename to src/api/java/de/mari_023/ae2wtlib/api/AE2wtlibComponents.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/TextConstants.java b/src/api/java/de/mari_023/ae2wtlib/api/TextConstants.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/TextConstants.java rename to src/api/java/de/mari_023/ae2wtlib/api/TextConstants.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/gui/AE2wtlibSlotSemantics.java b/src/api/java/de/mari_023/ae2wtlib/api/gui/AE2wtlibSlotSemantics.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/gui/AE2wtlibSlotSemantics.java rename to src/api/java/de/mari_023/ae2wtlib/api/gui/AE2wtlibSlotSemantics.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/gui/Icon.java b/src/api/java/de/mari_023/ae2wtlib/api/gui/Icon.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/gui/Icon.java rename to src/api/java/de/mari_023/ae2wtlib/api/gui/Icon.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/gui/IconButton.java b/src/api/java/de/mari_023/ae2wtlib/api/gui/IconButton.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/gui/IconButton.java rename to src/api/java/de/mari_023/ae2wtlib/api/gui/IconButton.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/gui/ScrollingUpgradesPanel.java b/src/api/java/de/mari_023/ae2wtlib/api/gui/ScrollingUpgradesPanel.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/gui/ScrollingUpgradesPanel.java rename to src/api/java/de/mari_023/ae2wtlib/api/gui/ScrollingUpgradesPanel.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/gui/UpgradeBackground.java b/src/api/java/de/mari_023/ae2wtlib/api/gui/UpgradeBackground.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/gui/UpgradeBackground.java rename to src/api/java/de/mari_023/ae2wtlib/api/gui/UpgradeBackground.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/gui/package-info.java b/src/api/java/de/mari_023/ae2wtlib/api/gui/package-info.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/gui/package-info.java rename to src/api/java/de/mari_023/ae2wtlib/api/gui/package-info.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/package-info.java b/src/api/java/de/mari_023/ae2wtlib/api/package-info.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/package-info.java rename to src/api/java/de/mari_023/ae2wtlib/api/package-info.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/registration/AddTerminalEvent.java b/src/api/java/de/mari_023/ae2wtlib/api/registration/AddTerminalEvent.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/registration/AddTerminalEvent.java rename to src/api/java/de/mari_023/ae2wtlib/api/registration/AddTerminalEvent.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/registration/UpgradeHelper.java b/src/api/java/de/mari_023/ae2wtlib/api/registration/UpgradeHelper.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/registration/UpgradeHelper.java rename to src/api/java/de/mari_023/ae2wtlib/api/registration/UpgradeHelper.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/registration/WTDefinition.java b/src/api/java/de/mari_023/ae2wtlib/api/registration/WTDefinition.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/registration/WTDefinition.java rename to src/api/java/de/mari_023/ae2wtlib/api/registration/WTDefinition.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/registration/WTDefinitionBuilder.java b/src/api/java/de/mari_023/ae2wtlib/api/registration/WTDefinitionBuilder.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/registration/WTDefinitionBuilder.java rename to src/api/java/de/mari_023/ae2wtlib/api/registration/WTDefinitionBuilder.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/registration/package-info.java b/src/api/java/de/mari_023/ae2wtlib/api/registration/package-info.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/registration/package-info.java rename to src/api/java/de/mari_023/ae2wtlib/api/registration/package-info.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/results/ActionHostResult.java b/src/api/java/de/mari_023/ae2wtlib/api/results/ActionHostResult.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/results/ActionHostResult.java rename to src/api/java/de/mari_023/ae2wtlib/api/results/ActionHostResult.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/results/LongResult.java b/src/api/java/de/mari_023/ae2wtlib/api/results/LongResult.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/results/LongResult.java rename to src/api/java/de/mari_023/ae2wtlib/api/results/LongResult.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/results/Result.java b/src/api/java/de/mari_023/ae2wtlib/api/results/Result.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/results/Result.java rename to src/api/java/de/mari_023/ae2wtlib/api/results/Result.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/results/Status.java b/src/api/java/de/mari_023/ae2wtlib/api/results/Status.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/results/Status.java rename to src/api/java/de/mari_023/ae2wtlib/api/results/Status.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/results/package-info.java b/src/api/java/de/mari_023/ae2wtlib/api/results/package-info.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/results/package-info.java rename to src/api/java/de/mari_023/ae2wtlib/api/results/package-info.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/terminal/Ae2wtlibLocatingService.java b/src/api/java/de/mari_023/ae2wtlib/api/terminal/Ae2wtlibLocatingService.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/terminal/Ae2wtlibLocatingService.java rename to src/api/java/de/mari_023/ae2wtlib/api/terminal/Ae2wtlibLocatingService.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/terminal/IUniversalTerminalCapable.java b/src/api/java/de/mari_023/ae2wtlib/api/terminal/IUniversalTerminalCapable.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/terminal/IUniversalTerminalCapable.java rename to src/api/java/de/mari_023/ae2wtlib/api/terminal/IUniversalTerminalCapable.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/terminal/ItemWT.java b/src/api/java/de/mari_023/ae2wtlib/api/terminal/ItemWT.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/terminal/ItemWT.java rename to src/api/java/de/mari_023/ae2wtlib/api/terminal/ItemWT.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/terminal/ItemWUT.java b/src/api/java/de/mari_023/ae2wtlib/api/terminal/ItemWUT.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/terminal/ItemWUT.java rename to src/api/java/de/mari_023/ae2wtlib/api/terminal/ItemWUT.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/terminal/WTMenuHost.java b/src/api/java/de/mari_023/ae2wtlib/api/terminal/WTMenuHost.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/terminal/WTMenuHost.java rename to src/api/java/de/mari_023/ae2wtlib/api/terminal/WTMenuHost.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/terminal/WUTHandler.java b/src/api/java/de/mari_023/ae2wtlib/api/terminal/WUTHandler.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/terminal/WUTHandler.java rename to src/api/java/de/mari_023/ae2wtlib/api/terminal/WUTHandler.java diff --git a/api/src/main/java/de/mari_023/ae2wtlib/api/terminal/package-info.java b/src/api/java/de/mari_023/ae2wtlib/api/terminal/package-info.java similarity index 100% rename from api/src/main/java/de/mari_023/ae2wtlib/api/terminal/package-info.java rename to src/api/java/de/mari_023/ae2wtlib/api/terminal/package-info.java diff --git a/api/src/main/resources/META-INF/accesstransformer.cfg b/src/api/resources/META-INF/accesstransformer.cfg similarity index 100% rename from api/src/main/resources/META-INF/accesstransformer.cfg rename to src/api/resources/META-INF/accesstransformer.cfg diff --git a/api/src/main/resources/META-INF/neoforge.mods.toml b/src/api/resources/META-INF/neoforge.mods.toml similarity index 100% rename from api/src/main/resources/META-INF/neoforge.mods.toml rename to src/api/resources/META-INF/neoforge.mods.toml diff --git a/api/src/main/resources/assets/ae2wtlib_api/lang/de_de.json b/src/api/resources/assets/ae2wtlib_api/lang/de_de.json similarity index 100% rename from api/src/main/resources/assets/ae2wtlib_api/lang/de_de.json rename to src/api/resources/assets/ae2wtlib_api/lang/de_de.json diff --git a/api/src/main/resources/assets/ae2wtlib_api/lang/en_ud.json b/src/api/resources/assets/ae2wtlib_api/lang/en_ud.json similarity index 100% rename from api/src/main/resources/assets/ae2wtlib_api/lang/en_ud.json rename to src/api/resources/assets/ae2wtlib_api/lang/en_ud.json diff --git a/api/src/main/resources/assets/ae2wtlib_api/lang/en_us.json b/src/api/resources/assets/ae2wtlib_api/lang/en_us.json similarity index 100% rename from api/src/main/resources/assets/ae2wtlib_api/lang/en_us.json rename to src/api/resources/assets/ae2wtlib_api/lang/en_us.json diff --git a/api/src/main/resources/icon.png b/src/api/resources/icon.png similarity index 100% rename from api/src/main/resources/icon.png rename to src/api/resources/icon.png