diff --git a/build.gradle.kts b/build.gradle.kts index b708cdc..1529594 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,7 +3,7 @@ import java.time.LocalDateTime import java.time.format.DateTimeFormatter plugins { - id("net.neoforged.moddev") version "0.1.126" + id("net.neoforged.moddev") version "1.0.15" id("org.sinytra.adapter.userdev") id("org.sinytra.adapter.gradle") `maven-publish` diff --git a/userdev/build.gradle.kts b/userdev/build.gradle.kts index 0cd0eff..a872663 100644 --- a/userdev/build.gradle.kts +++ b/userdev/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } group = "org.sinytra.adapter" -version = "1.0-SNAPSHOT" +version = "1.1-SNAPSHOT" java { toolchain { @@ -27,7 +27,7 @@ repositories { } dependencies { - compileOnly("net.neoforged:moddev-gradle:0.1.124") + compileOnly("net.neoforged:moddev-gradle:1.0.15") } publishing { diff --git a/userdev/src/main/java/org/sinytra/adapter/userdev/AdapterUserdevPlugin.java b/userdev/src/main/java/org/sinytra/adapter/userdev/AdapterUserdevPlugin.java index a382ab1..5f8c22d 100644 --- a/userdev/src/main/java/org/sinytra/adapter/userdev/AdapterUserdevPlugin.java +++ b/userdev/src/main/java/org/sinytra/adapter/userdev/AdapterUserdevPlugin.java @@ -1,5 +1,6 @@ package org.sinytra.adapter.userdev; +import net.neoforged.moddevgradle.dsl.InternalModelHelper; import net.neoforged.moddevgradle.dsl.NeoForgeExtension; import org.gradle.api.Plugin; import org.gradle.api.Project; @@ -17,7 +18,8 @@ public void apply(Project project) { } public static void applyPlugin(Project project) { - Property neoForgeVersion = project.getExtensions().getByType(NeoForgeExtension.class).getVersion(); + NeoForgeExtension neoForge = project.getExtensions().getByType(NeoForgeExtension.class); + Property neoForgeVersion = neoForge.getVersion(); Configuration neoForgeUserdevArtifact = project.getConfigurations().create("neoForgeUserdevArtifact", spec -> { spec.setCanBeResolved(true); @@ -46,6 +48,7 @@ public static void applyPlugin(Project project) { task.getOutputFile().set(project.file("build/%s/joined.lzma".formatted(task.getName()))); }); + // Used by org.sinytra.adapter.gradle plugin TaskProvider createBinpatchedArtifact = project.getTasks().register("createBinpatchedArtifact", CreateBinpatchedArtifactTask.class, task -> { task.dependsOn("extractBinPatches"); task.setGroup("sinytra"); @@ -54,5 +57,13 @@ public static void applyPlugin(Project project) { task.getPatches().set(extractBinPatches.flatMap(ExtractBinPatches::getOutputFile)); task.getOutputFile().set(project.file("build/%s/minecraft-binpatched.jar".formatted(task.getName()))); }); + + // Attach clean artifact path to run configs + neoForge.getRuns().configureEach(runModel -> { + runModel.systemProperty("connector.clean.path", createCleanArtifact.get().getOutputFile().get().getAsFile().getAbsolutePath()); + project.getTasks().named(InternalModelHelper.nameOfRun(runModel, "prepare", "run")).configure(task -> { + task.dependsOn(createCleanArtifact); + }); + }); } }