Skip to content

Commit

Permalink
Switch back to NG7
Browse files Browse the repository at this point in the history
  • Loading branch information
robotgryphon committed Jul 28, 2024
1 parent aa823ba commit e33337c
Show file tree
Hide file tree
Showing 3 changed files with 161 additions and 145 deletions.
160 changes: 81 additions & 79 deletions core-api/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -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<String>())
}
}
}

base {
group = "dev.compactmods.compactmachines"
version = versionMain
}

java {
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
withJavadocJar()
}

neoForge {
version = neoforged.versions.neoforge
}

tasks.withType<JavaCompile> {
options.encoding = "UTF-8"
options.compilerArgs.add("-proc:none")
options.compilerArgs.addAll(arrayOf("-Xmaxerrs", "9000"))
}

tasks.withType<Jar> {
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<MavenPublication>("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<String>())
}
}
}

base {
group = "dev.compactmods.compactmachines"
version = versionMain
}

java {
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
withJavadocJar()
}

minecraft {}

dependencies {
api(neoforged.neoforge)
}

tasks.withType<JavaCompile> {
options.encoding = "UTF-8"
options.compilerArgs.add("-proc:none")
options.compilerArgs.addAll(arrayOf("-Xmaxerrs", "9000"))
}

tasks.withType<Jar> {
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<MavenPublication>("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")
}
}
}
}
125 changes: 68 additions & 57 deletions neoforge-main/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
@file:Suppress("SpellCheckingInspection")

import org.slf4j.event.Level
import java.text.SimpleDateFormat
import java.util.*

Expand Down Expand Up @@ -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()
Expand Down Expand Up @@ -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)
Expand Down
21 changes: 12 additions & 9 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand All @@ -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") {
Expand Down Expand Up @@ -79,5 +82,5 @@ plugins {

include(":core-api")
include(":neoforge-main")
include(":neoforge-datagen")
// include(":neoforge-datagen")

0 comments on commit e33337c

Please sign in to comment.