diff --git a/core-api/build.gradle.kts b/core-api/build.gradle.kts index baa9edf0..8a0d0719 100644 --- a/core-api/build.gradle.kts +++ b/core-api/build.gradle.kts @@ -1,80 +1,82 @@ -import java.text.SimpleDateFormat -import java.util.* - -val versionMain: String = System.getenv("VERSION") ?: "9.9.9" - -plugins { - id("java-library") - id("maven-publish") - alias(neoforged.plugins.moddev) -} - -sourceSets { - named("test") { - resources { - //The test module has no resources - setSrcDirs(emptyList()) - } - } -} - -base { - group = "dev.compactmods.compactmachines" - version = versionMain -} - -java { - toolchain.languageVersion.set(JavaLanguageVersion.of(21)) - withJavadocJar() -} - -neoForge { - version = neoforged.versions.neoforge -} - -tasks.withType { - options.encoding = "UTF-8" - options.compilerArgs.add("-proc:none") - options.compilerArgs.addAll(arrayOf("-Xmaxerrs", "9000")) -} - -tasks.withType { - val gitVersion = providers.exec { - commandLine("git", "rev-parse", "HEAD") - }.standardOutput.asText.get() - - manifest { - val now = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(Date()) - attributes( - mapOf( - "Specification-Title" to "Compact Machines - Core API", - "Specification-Version" to "1", // We are version 1 of ourselves - "Implementation-Title" to "Compact Machines - Core API", - "Implementation-Timestamp" to now, - "FMLModType" to "GAMELIBRARY", - "Minecraft-Version" to mojang.versions.minecraft.get(), - "NeoForge-Version" to neoforged.versions.neoforge.get(), - "Main-Commit" to gitVersion - ) - ) - } -} - -val PACKAGES_URL = System.getenv("GH_PKG_URL") ?: "https://maven.pkg.github.com/compactmods/compactmachines" -publishing { - publications.register("api") { - artifactId = "core-api" - from(components.getByName("java")) - } - - repositories { - // GitHub Packages - maven(PACKAGES_URL) { - name = "GitHubPackages" - credentials { - username = System.getenv("GITHUB_ACTOR") - password = System.getenv("GITHUB_TOKEN") - } - } - } +import java.text.SimpleDateFormat +import java.util.* + +val versionMain: String = System.getenv("VERSION") ?: "9.9.9" + +plugins { + id("java-library") + id("maven-publish") + alias(neoforged.plugins.moddev) +} + +sourceSets { + named("test") { + resources { + //The test module has no resources + setSrcDirs(emptyList()) + } + } +} + +base { + group = "dev.compactmods.compactmachines" + version = versionMain +} + +java { + toolchain.languageVersion.set(JavaLanguageVersion.of(21)) + withJavadocJar() +} + +minecraft {} + +dependencies { + api(neoforged.neoforge) +} + +tasks.withType { + options.encoding = "UTF-8" + options.compilerArgs.add("-proc:none") + options.compilerArgs.addAll(arrayOf("-Xmaxerrs", "9000")) +} + +tasks.withType { + val gitVersion = providers.exec { + commandLine("git", "rev-parse", "HEAD") + }.standardOutput.asText.get() + + manifest { + val now = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(Date()) + attributes( + mapOf( + "Specification-Title" to "Compact Machines - Core API", + "Specification-Version" to "1", // We are version 1 of ourselves + "Implementation-Title" to "Compact Machines - Core API", + "Implementation-Timestamp" to now, + "FMLModType" to "GAMELIBRARY", + "Minecraft-Version" to mojang.versions.minecraft.get(), + "NeoForge-Version" to neoforged.versions.neoforge.get(), + "Main-Commit" to gitVersion + ) + ) + } +} + +val PACKAGES_URL = System.getenv("GH_PKG_URL") ?: "https://maven.pkg.github.com/compactmods/compactmachines" +publishing { + publications.register("api") { + artifactId = "core-api" + from(components.getByName("java")) + } + + repositories { + // GitHub Packages + maven(PACKAGES_URL) { + name = "GitHubPackages" + credentials { + username = System.getenv("GITHUB_ACTOR") + password = System.getenv("GITHUB_TOKEN") + } + } + } } \ No newline at end of file diff --git a/neoforge-main/build.gradle.kts b/neoforge-main/build.gradle.kts index 81bdb866..ee947a47 100644 --- a/neoforge-main/build.gradle.kts +++ b/neoforge-main/build.gradle.kts @@ -1,6 +1,5 @@ @file:Suppress("SpellCheckingInspection") -import org.slf4j.event.Level import java.text.SimpleDateFormat import java.util.* @@ -55,71 +54,81 @@ sourceSets.test { } } -neoForge { - version = neoforged.versions.neoforge - - this.mods.create(modId) { - modSourceSets.add(sourceSets.main) - modSourceSets.add(sourceSets.test) - this.dependency(coreApi) - } - - unitTest { - enable() - testedMod = mods.named(modId) +minecraft { + this.modIdentifier = modId + this.accessTransformers { + this.file(project.file("src/main/resources/META-INF/accesstransformer.cfg")) } +} - runs { - // applies to all the run configs below - configureEach { - - logLevel.set(Level.DEBUG) - - sourceSet = project.sourceSets.main - - if (!System.getenv().containsKey("CI")) { - // JetBrains Runtime Hotswap - // jvmArgument("-XX:+AllowEnhancedClassRedefinition") - } - } - - create("client") { - client() - gameDirectory.set(file("runs/client")) - - // Comma-separated list of namespaces to load gametests from. Empty = all namespaces. - systemProperty("forge.enabledGameTestNamespaces", modId) +runs { + configureEach { + this.modSource(coreApi.sourceSets.main.get()) - programArguments.addAll("--username", "Nano") - programArguments.addAll("--width", "1920") - programArguments.addAll("--height", "1080") + dependencies { + runtime(libraries.feather) + runtime(libraries.jnanoid) } - create("server") { - server() - gameDirectory.set(file("runs/server")) - - systemProperty("forge.enabledGameTestNamespaces", modId) - programArgument("nogui") +// if (!System.getenv().containsKey("CI")) { +// // JetBrains Runtime Hotswap +// // jvmArgument("-XX:+AllowEnhancedClassRedefinition") +// } + } - environment.put("CM_TEST_RESOURCES", file("src/test/resources").path) + this.create("client") { + client() - sourceSet = project.sourceSets.test - // sourceSets.add(project.sourceSets.test.get()) - } + this.workingDirectory.set(file("runs/client")) - create("gameTestServer") { - type = "gameTestServer" - gameDirectory.set(file("runs/gametest")) + // Comma-separated list of namespaces to load gametests from. Empty = all namespaces. + systemProperty("forge.enabledGameTestNamespaces", modId) - systemProperty("forge.enabledGameTestNamespaces", modId) - environment.put("CM_TEST_RESOURCES", file("src/test/resources").path) - - sourceSet = project.sourceSets.test - // sourceSets.add(project.sourceSets.test.get()) - } + programArguments.addAll("--username", "Nano") + programArguments.addAll("--width", "1920") + programArguments.addAll("--height", "1080") } } +//neoForge { +// version = neoforged.versions.neoforge +// +// this.mods.create(modId) { +// modSourceSets.add(sourceSets.main) +// modSourceSets.add(sourceSets.test) +// this.dependency(coreApi) +// } +// +// unitTest { +// enable() +// testedMod = mods.named(modId) +// } +// + +// create("server") { +// server() +// gameDirectory.set(file("runs/server")) +// +// systemProperty("forge.enabledGameTestNamespaces", modId) +// programArgument("nogui") +// +// environment.put("CM_TEST_RESOURCES", file("src/test/resources").path) +// +// sourceSet = project.sourceSets.test +// // sourceSets.add(project.sourceSets.test.get()) +// } +// +// create("gameTestServer") { +// type = "gameTestServer" +// gameDirectory.set(file("runs/gametest")) +// +// systemProperty("forge.enabledGameTestNamespaces", modId) +// environment.put("CM_TEST_RESOURCES", file("src/test/resources").path) +// +// sourceSet = project.sourceSets.test +// // sourceSets.add(project.sourceSets.test.get()) +// } +// } +//} repositories { mavenLocal() @@ -163,18 +172,20 @@ dependencies { compileOnly(coreApi) testCompileOnly(coreApi) + jarJar(coreApi) compileOnly(libraries.feather) jarJar(libraries.feather) { isTransitive = false } } + implementation(neoforged.neoforge) + runtimeOnly(neoforged.testframework) testImplementation(neoforged.testframework) testImplementation("org.junit.jupiter:junit-jupiter:5.7.1") testRuntimeOnly("org.junit.platform:junit-platform-launcher") - additionalRuntimeClasspath(libraries.feather) - additionalRuntimeClasspath(libraries.jnanoid) + // Mods // compileOnly(mods.bundles.jei) diff --git a/settings.gradle.kts b/settings.gradle.kts index 2297449b..faf6785e 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -2,23 +2,26 @@ rootProject.name = "Compact Machines 21.0" dependencyResolutionManagement { versionCatalogs.create("neoforged") { - version("mdg", "1.0.14") - version("neoforge", "21.0.114-beta") + version("neoforge", "21.0.143") + version("neogradle", "7.0.154") version("neoforgeRange") { require("[21.0,22)") - prefer("21.0.2-beta") + prefer("21.0.143") } - plugin("moddev", "net.neoforged.moddev") - .versionRef("mdg") + plugin("moddev", "net.neoforged.gradle.userdev") + .versionRef("neogradle") + + library("neoforge", "net.neoforged", "neoforge") + .versionRef("neoforge") library("testframework", "net.neoforged", "testframework") .versionRef("neoforge") } versionCatalogs.create("mojang") { - version("minecraft", "1.20.6") + version("minecraft", "1.21.0") version("minecraftRange") { this.require("[1.21, 1.21.1)") this.prefer("1.21") @@ -35,8 +38,8 @@ dependencyResolutionManagement { version("feather", "[0.1.8, 2.0)") version("jnanoid", "[2.0.0, 3)") - version("parchment-mc", "1.20.6") - version("parchment", "2024.05.01") + version("parchment-mc", "1.21") + version("parchment", "2024.07.28") } versionCatalogs.create("mods") { @@ -79,5 +82,5 @@ plugins { include(":core-api") include(":neoforge-main") -include(":neoforge-datagen") +// include(":neoforge-datagen")