Skip to content

Commit

Permalink
Revert "Backend: Add unimined build system (#1456)"
Browse files Browse the repository at this point in the history
This reverts commit 40309bc.
  • Loading branch information
hannibal002 committed Apr 22, 2024
1 parent 59d5e66 commit e76b356
Show file tree
Hide file tree
Showing 11 changed files with 190 additions and 298 deletions.
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,3 @@ gradle.properties

.devauth/*
!.devauth/config.toml

.env
236 changes: 81 additions & 155 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import org.apache.commons.lang3.SystemUtils
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import xyz.wagyourtail.unimined.api.minecraft.MinecraftConfig
import xyz.wagyourtail.unimined.api.minecraft.task.RemapJarTask
import xyz.wagyourtail.unimined.api.runs.RunConfig
import java.io.ByteArrayOutputStream

plugins {
idea
java
id("xyz.wagyourtail.unimined") version "1.2.0-SNAPSHOT"
id("gg.essential.loom") version "0.10.0.+"
id("dev.architectury.architectury-pack200") version "0.1.3"
id("com.github.johnrengelman.shadow") version "7.1.2"
kotlin("jvm") version "1.9.0"
id("com.bnorm.power.kotlin-power-assert") version "0.13.0"
Expand Down Expand Up @@ -39,10 +38,6 @@ sourceSets.main {
kotlin.destinationDirectory.set(java.destinationDirectory)
}

val patternSourceSet = sourceSets.create("pattern") {
this.runtimeClasspath += sourceSets.main.get().runtimeClasspath
}

repositories {
mavenCentral()
mavenLocal()
Expand All @@ -56,19 +51,15 @@ repositories {
maven("https://repo.nea.moe/releases")
maven("https://maven.notenoughupdates.org/releases")
maven("https://repo.hypixel.net/repository/Hypixel/")
ivy("https://repo1.maven.org/maven2/org/apache/logging/log4j") {
this.content {
this.includeGroup("log4jhack")
}
this.patternLayout {
this.artifact("log4j-[artifact]/[revision]/log4j-[artifact]-[revision].[ext]")
}
this.metadataSources {
this.artifact()
}
}
}

val shadowImpl: Configuration by configurations.creating {
configurations.implementation.get().extendsFrom(this)
}

val shadowModImpl: Configuration by configurations.creating {
configurations.modImplementation.get().extendsFrom(this)
}

val devenvMod: Configuration by configurations.creating {
isTransitive = false
Expand All @@ -82,125 +73,10 @@ val headlessLwjgl by configurations.creating {

val shot = shots.shot("minecraft", project.file("shots.txt"))

val modRuntimeOnly by configurations.creating {
configurations.runtimeOnly.get().extendsFrom(this)
}
val modCompileOnly by configurations.creating {
configurations.compileOnly.get().extendsFrom(this)
}

fun RunConfig.setBaseConfig() {
val runDir = file("run").absoluteFile
this.javaVersion = JavaVersion.VERSION_1_8
this.args.addAll(
listOf(
"--tweakClass",
"org.spongepowered.asm.launch.MixinTweaker",
"--tweakClass",
"io.github.notenoughupdates.moulconfig.tweaker.DevelopmentResourceTweaker",
"--mods",
devenvMod.resolve().joinToString(",") { it.relativeTo(runDir).path }
)
)
this.args.set(
this.args.indexOf("--gameDir") + 1,
runDir.absolutePath
)
this.jvmArgs.removeIf { it.startsWith("-Xmx") || it.startsWith("-XX:") }
this.jvmArgs.addAll(
listOf(
"-Xmx4G",
"-Dmixin.debug=true",
"-Dlog4j.configurationFile=${project.file("log4j2.xml").absolutePath}"
)
)
this.workingDir = runDir
if (System.getenv("repo_action") != "true") {
this.jvmArgs.add("-Ddevauth.configDir=${rootProject.file(".devauth").absolutePath}")
}
this.env.putAll(parseEnvFile(file(".env")))
}

fun MinecraftConfig.defaultMinecraft() {
this.version("1.8.9")
this.mappings {
this.searge()
this.mcp("stable", "22-1.8.9")
}
this.minecraftForge {
this.loader("11.15.1.2318-1.8.9")
this.mixinConfig("mixins.skyhanni.json")
}
}

unimined.minecraft {
this.defaultMinecraft()
this.runs {
this.config("client") {
this.setBaseConfig()
}
this.config("server") {
this.disabled = true
}
}
this.mods {
this.remap(modRuntimeOnly)
this.remap(devenvMod)
this.remap(modCompileOnly)
}
}

unimined.minecraft(patternSourceSet) {
this.defaultMinecraft()
this.runs {
this.config("client") {
this.setBaseConfig()
this.jvmArgs.addAll(
listOf(
"-Dorg.lwjgl.opengl.Display.allowSoftwareOpenGL=true",
"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5006",
"-javaagent:${headlessLwjgl.singleFile.absolutePath}"
)
)
val outputFile = project.file("build/regexes/constants.json")
this.env.put("SKYHANNI_DUMP_REGEXES", "${gitHash}:${outputFile.absolutePath}")
this.env.put("SKYHANNI_DUMP_REGEXES_EXIT", "true")
}
this.config("server") {
this.disabled = true
}
}
}
unimined.minecraft(sourceSets.test.get()) {
this.defaultMinecraft()
this.runs {
this.off = true
}
}
val modImplementation by configurations
val testModImplementation by configurations
val patternModImplementation by configurations

testModImplementation.extendsFrom(modImplementation)
patternModImplementation.extendsFrom(testModImplementation)

val shadowImpl: Configuration by configurations.creating {
configurations.implementation.get().extendsFrom(this)
}

val shadowModImpl: Configuration by configurations.creating {
modImplementation.extendsFrom(this)

}

configurations.named("minecraftLibraries") {
this.resolutionStrategy {
this.force("org.apache.logging.log4j:log4j-core:2.8.1")
this.force("org.apache.logging.log4j:log4j-api:2.8.1")
}
}

dependencies {
minecraft("com.mojang:minecraft:1.8.9")
mappings("de.oceanlabs.mcp:mcp_stable:22-1.8.9")
forge("net.minecraftforge:forge:1.8.9-11.15.1.2318-1.8.9")

// Discord RPC client
shadowImpl("com.github.NetheriteMiner:DiscordIPC:3106be5") {
Expand All @@ -216,13 +92,14 @@ dependencies {
shadowImpl("org.spongepowered:mixin:0.7.11-SNAPSHOT") {
isTransitive = false
}
annotationProcessor("org.spongepowered:mixin:0.8.4-SNAPSHOT")

implementation(kotlin("stdlib-jdk8"))
shadowImpl("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3") {
exclude(group = "org.jetbrains.kotlin")
}

modRuntimeOnly("me.djtheredstoner:DevAuth-forge-legacy:1.2.0")
modRuntimeOnly("me.djtheredstoner:DevAuth-forge-legacy:1.1.0")

modCompileOnly("com.github.hannibal002:notenoughupdates:4957f0b:all") {
exclude(module = "unspecified")
Expand All @@ -247,11 +124,9 @@ dependencies {
testImplementation("io.mockk:mockk:1.12.5")

implementation("net.hypixel:mod-api:0.3.1")

runtimeOnly(libs.terminalConsoleAppender)
// Manually load 2.0-beta.9 on the class path *after* loading 2.8.X, since forge uses some of the helper classes only available in this version.
runtimeOnly("log4jhack:api:2.0-beta9")
runtimeOnly("log4jhack:core:2.0-beta9")
}
configurations.getByName("minecraftNamed").dependencies.forEach {
shot.applyTo(it as HasConfigurableAttributes<*>)
}

tasks.withType(Test::class) {
Expand All @@ -270,19 +145,64 @@ kotlin {
}
}

// Minecraft configuration:
loom {
launchConfigs {
"client" {
property("mixin.debug", "true")
if (System.getenv("repo_action") != "true") {
property("devauth.configDir", rootProject.file(".devauth").absolutePath)
}
arg("--tweakClass", "org.spongepowered.asm.launch.MixinTweaker")
arg("--tweakClass", "io.github.notenoughupdates.moulconfig.tweaker.DevelopmentResourceTweaker")
arg("--mods", devenvMod.resolve().joinToString(",") { it.relativeTo(file("run")).path })
}
}
forge {
pack200Provider.set(dev.architectury.pack200.java.Pack200Adapter())
mixinConfig("mixins.skyhanni.json")
}
@Suppress("UnstableApiUsage")
mixin {
defaultRefmapName.set("mixins.skyhanni.refmap.json")
}
runConfigs {
"client" {
if (SystemUtils.IS_OS_MAC_OSX) {
vmArgs.remove("-XstartOnFirstThread")
}
vmArgs.add("-Xmx4G")
}
"server" {
isIdeConfigGenerated = false
}
}
}

// Tasks:
tasks.processResources {
inputs.property("version", version)
filesMatching("mcmod.info") {
expand("version" to version)
}
this.filesMatching("mixins.skyhanni.json") {
this.autoDiscoverMixins(sourceSets.main.get())
}
}

val generateRepoPatterns by tasks.creating() {
afterEvaluate { dependsOn(tasks["patternRunClient"]) }
val generateRepoPatterns by tasks.creating(JavaExec::class) {
javaLauncher.set(javaToolchains.launcherFor(java.toolchain))
mainClass.set("net.fabricmc.devlaunchinjector.Main")
workingDir(project.file("run"))
classpath(sourceSets.main.map { it.runtimeClasspath }, sourceSets.main.map { it.output })
jvmArgs(
"-Dfabric.dli.config=${project.file(".gradle/loom-cache/launch.cfg").absolutePath}",
"-Dfabric.dli.env=client",
"-Dfabric.dli.main=net.minecraft.launchwrapper.Launch",
"-Dorg.lwjgl.opengl.Display.allowSoftwareOpenGL=true",
"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5006",
"-javaagent:${headlessLwjgl.singleFile.absolutePath}"
)
val outputFile = project.file("build/regexes/constants.json")
environment("SKYHANNI_DUMP_REGEXES", "${gitHash}:${outputFile.absolutePath}")
environment("SKYHANNI_DUMP_REGEXES_EXIT", "true")
}

tasks.compileJava {
Expand All @@ -295,9 +215,6 @@ tasks.withType(JavaCompile::class) {

tasks.withType(Jar::class) {
archiveBaseName.set("SkyHanni")
if (this.name != "remapJar") {
this.destinationDirectory.set(layout.buildDirectory.dir("badjars"))
}
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
manifest.attributes.run {
this["FMLCorePluginContainsFMLMod"] = "true"
Expand All @@ -310,23 +227,31 @@ tasks.withType(Jar::class) {
}


val remapJar by tasks.named<RemapJarTask>("remapJar") {
val remapJar by tasks.named<net.fabricmc.loom.task.RemapJarTask>("remapJar") {
archiveClassifier.set("")
inputFile.set(tasks.shadowJar.flatMap { it.archiveFile })
from(tasks.shadowJar)
input.set(tasks.shadowJar.get().archiveFile)
}

tasks.shadowJar {
destinationDirectory.set(layout.buildDirectory.dir("badjars"))
archiveClassifier.set("all-dev")
configurations = listOf(shadowImpl, shadowModImpl)
doLast {
configurations.forEach {
println("Config: ${it.files}")
}
}
exclude("META-INF/versions/**")
mergeServiceFiles()
relocate("io.github.notenoughupdates.moulconfig", "at.hannibal2.skyhanni.deps.moulconfig")
relocate("moe.nea.libautoupdate", "at.hannibal2.skyhanni.deps.libautoupdate")
}
tasks.jar {
archiveClassifier.set("nodeps")
destinationDirectory.set(layout.buildDirectory.dir("badjars"))
}
tasks.assemble.get().dependsOn(remapJar)
tasks.assemble.get().dependsOn(tasks.remapJar)

val compileKotlin: KotlinCompile by tasks
compileKotlin.kotlinOptions {
Expand All @@ -337,13 +262,14 @@ compileTestKotlin.kotlinOptions {
jvmTarget = "1.8"
}
val sourcesJar by tasks.creating(Jar::class) {
destinationDirectory.set(layout.buildDirectory.dir("badjars"))
archiveClassifier.set("src")
from(sourceSets.main.get().allSource)
}

publishing.publications {
create<MavenPublication>("maven") {
artifact(remapJar)
artifact(tasks.remapJar)
artifact(sourcesJar) { classifier = "sources" }
pom {
name.set("SkyHanni")
Expand Down
18 changes: 0 additions & 18 deletions buildSrc/build.gradle.kts

This file was deleted.

Loading

0 comments on commit e76b356

Please sign in to comment.