diff --git a/build.gradle b/build.gradle index f3c40c3b5..1e62674b9 100644 --- a/build.gradle +++ b/build.gradle @@ -12,6 +12,8 @@ plugins { // Architectury is used here only as a replacement for forge's own loom id "dev.architectury.loom" version "1.6-SNAPSHOT" apply false + + id 'xyz.wagyourtail.jvmdowngrader' version '0.4.0' apply true } @@ -102,6 +104,7 @@ subprojects { p -> // Apply plugins apply plugin: "java" apply plugin: "com.github.johnrengelman.shadow" + apply plugin: "xyz.wagyourtail.jvmdowngrader" if (isMinecraftSubProject) apply plugin: "systems.manifold.manifold-gradle-plugin" @@ -313,6 +316,22 @@ subprojects { p -> // Using jar.finalizedBy(shadowJar) causes issues so we do this scuffed bypass jar.dependsOn(shadowJar) + // For downgrading our project to Java 8 + if (isMinecraftSubProject) { + task jarDowngrade(type: xyz.wagyourtail.jvmdg.gradle.task.DowngradeJar) { + inputFile = tasks.shadowJar.archiveFile + archiveClassifier = "downgraded-8" + } + task apiDowngrade(type: xyz.wagyourtail.jvmdg.gradle.task.ShadeAPI) { + inputFile = jarDowngrade.archiveFile + archiveClassifier = "downgraded-8-shaded" + } + + // We're using a custom downgrade task so we disable the original downgrade tasks + downgradeJar.enabled = false + shadeDowngradedApi.enabled = false + } + // Put stuff from gradle.properties into the mod info processResources { diff --git a/fabric/build.gradle b/fabric/build.gradle index accf863fc..2d3b583fc 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -23,8 +23,8 @@ loom { } remapJar { - inputFile = shadowJar.archiveFile - dependsOn shadowJar + inputFile = apiDowngrade.archiveFile + dependsOn apiDowngrade } diff --git a/forge/build.gradle b/forge/build.gradle index 790890245..ea30313f3 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -51,8 +51,8 @@ loom { } remapJar { - inputFile = shadowJar.archiveFile - dependsOn shadowJar + inputFile = apiDowngrade.archiveFile + dependsOn apiDowngrade } def addMod(path, enabled) { diff --git a/neoforge/build.gradle b/neoforge/build.gradle index f5ab276fd..4b5290e17 100644 --- a/neoforge/build.gradle +++ b/neoforge/build.gradle @@ -67,8 +67,8 @@ loom { } remapJar { - inputFile = shadowJar.archiveFile - dependsOn shadowJar + inputFile = apiDowngrade.archiveFile + dependsOn apiDowngrade // classifier null atAccessWideners.add("distanthorizons.accesswidener") diff --git a/settings.gradle b/settings.gradle index fb99f9435..a76ea809a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -33,6 +33,14 @@ pluginManagement { name "ParchmentMC" url "https://maven.parchmentmc.org" } + maven { // Used for downgrading Java versions + name "Wagyourtail Release Repository" + url "https://maven.wagyourtail.xyz/releases" + } + maven { // Used for downgrading Java versions + name "Wagyourtail Snapshot Repository" + url "https://maven.wagyourtail.xyz/snapshots" + } mavenCentral() gradlePluginPortal()