From 5561b47f781241122796b6a3eb0cbe511339109f Mon Sep 17 00:00:00 2001 From: Wagyourtail Date: Tue, 13 Aug 2024 13:44:15 -0500 Subject: [PATCH] add the only gradle internal in unimined --- .../internal/minecraft/MinecraftProvider.kt | 3 --- .../unimined/internal/runs/RunsProvider.kt | 24 ++++++++++++------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/minecraft/kotlin/xyz/wagyourtail/unimined/internal/minecraft/MinecraftProvider.kt b/src/minecraft/kotlin/xyz/wagyourtail/unimined/internal/minecraft/MinecraftProvider.kt index ddd57727..9bd939ac 100644 --- a/src/minecraft/kotlin/xyz/wagyourtail/unimined/internal/minecraft/MinecraftProvider.kt +++ b/src/minecraft/kotlin/xyz/wagyourtail/unimined/internal/minecraft/MinecraftProvider.kt @@ -644,9 +644,6 @@ open class MinecraftProvider(project: Project, sourceSet: SourceSet) : Minecraft // run patcher after evaluate (mcPatcher as AbstractMinecraftTransformer).afterEvaluate() - - // create IDE runs, if required - runs.afterEvaluate() } fun getMcDevFile(): Path { diff --git a/src/runs/kotlin/xyz/wagyourtail/unimined/internal/runs/RunsProvider.kt b/src/runs/kotlin/xyz/wagyourtail/unimined/internal/runs/RunsProvider.kt index 9b5d51c9..da79f309 100644 --- a/src/runs/kotlin/xyz/wagyourtail/unimined/internal/runs/RunsProvider.kt +++ b/src/runs/kotlin/xyz/wagyourtail/unimined/internal/runs/RunsProvider.kt @@ -1,8 +1,10 @@ package xyz.wagyourtail.unimined.internal.runs +import org.gradle.TaskExecutionRequest import org.gradle.api.Project import org.gradle.api.Task import org.gradle.api.tasks.TaskProvider +import org.gradle.internal.DefaultTaskExecutionRequest import xyz.wagyourtail.unimined.api.minecraft.MinecraftConfig import xyz.wagyourtail.unimined.api.runs.RunConfig import xyz.wagyourtail.unimined.api.runs.RunsConfig @@ -123,15 +125,21 @@ class RunsProvider(val project: Project, val minecraft: MinecraftConfig): RunsCo task } //TODO: vscode/eclipse support + scheduleTaskAfterIDEASync(genIntellijRunsTask.name) } - fun afterEvaluate() { - if (System.getProperty("idea.sync.active", "false").lowercase() == "true") { - project.afterEvaluate { - for (value in runTasks.values) { - value.get().createIdeaRunConfig() - } - } - } + private fun scheduleTaskAfterIDEASync(taskName: String) { + if (isIdeaSync()) modifyGradleStartParameters(taskName) + } + + private fun modifyGradleStartParameters(taskName: String) { + val startParameter = project.gradle.startParameter + val taskRequests: MutableList = ArrayList(startParameter.taskRequests) + taskRequests.add(DefaultTaskExecutionRequest(listOf(taskName))) + startParameter.setTaskRequests(taskRequests) + } + + private fun isIdeaSync(): Boolean { + return System.getProperty("idea.sync.active", "false").toBoolean() } } \ No newline at end of file