From 0fda2a07bdfc05a5b77960d6493b940d58fdc199 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Sun, 17 Apr 2022 20:20:50 +0100 Subject: [PATCH] Improve kotlin plugin version retrieval. Update FLK in test. --- .../loom/util/kotlin/KotlinPluginUtils.java | 16 ++-------------- .../loom/test/integration/KotlinTest.groovy | 2 +- .../fabricmc/loom/test/util/ServerRunner.groovy | 2 +- 3 files changed, 4 insertions(+), 16 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/util/kotlin/KotlinPluginUtils.java b/src/main/java/net/fabricmc/loom/util/kotlin/KotlinPluginUtils.java index 0eb3a464..6c6c570b 100644 --- a/src/main/java/net/fabricmc/loom/util/kotlin/KotlinPluginUtils.java +++ b/src/main/java/net/fabricmc/loom/util/kotlin/KotlinPluginUtils.java @@ -25,28 +25,16 @@ package net.fabricmc.loom.util.kotlin; import org.gradle.api.Project; -import org.gradle.api.artifacts.Dependency; -import org.gradle.api.artifacts.DependencySet; public class KotlinPluginUtils { private static final String KOTLIN_PLUGIN_ID = "org.jetbrains.kotlin.jvm"; - private static final String KOTLIN_PLUGIN_GROUP = "org.jetbrains.kotlin.jvm"; - private static final String KOTLIN_PLUGIN_NAME = "org.jetbrains.kotlin.jvm.gradle.plugin"; public static boolean hasKotlinPlugin(Project project) { return project.getPluginManager().hasPlugin(KOTLIN_PLUGIN_ID); } public static String getKotlinPluginVersion(Project project) { - DependencySet buildDependencies = project.getBuildscript().getConfigurations() - .getByName("classpath").getDependencies(); - - for (Dependency dependency : buildDependencies) { - if (KOTLIN_PLUGIN_GROUP.equals(dependency.getGroup()) && KOTLIN_PLUGIN_NAME.equals(dependency.getName())) { - return dependency.getVersion(); - } - } - - throw new IllegalStateException("Unable to get the kotlin plugin version"); + Class koltinPluginClass = project.getPlugins().getPlugin(KOTLIN_PLUGIN_ID).getClass(); + return koltinPluginClass.getPackage().getImplementationVersion().split("-")[0]; } } diff --git a/src/test/groovy/net/fabricmc/loom/test/integration/KotlinTest.groovy b/src/test/groovy/net/fabricmc/loom/test/integration/KotlinTest.groovy index afe06b03..abf67bb3 100644 --- a/src/test/groovy/net/fabricmc/loom/test/integration/KotlinTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/integration/KotlinTest.groovy @@ -39,7 +39,7 @@ class KotlinTest extends Specification implements GradleProjectTestTrait { def gradle = gradleProject(project: "kotlin", version: version) def server = ServerRunner.create(gradle.projectDir, "1.16.5") .withMod(gradle.getOutputFile("fabric-example-mod-0.0.1.jar")) - .downloadMod(ServerRunner.FABRIC_LANG_KOTLIN, "fabric-language-kotlin-1.7.1+kotlin.1.6.10.jar") + .downloadMod(ServerRunner.FABRIC_LANG_KOTLIN, "fabric-language-kotlin-1.7.3+kotlin.1.6.20.jar") when: def result = gradle.run(task: "build") diff --git a/src/test/groovy/net/fabricmc/loom/test/util/ServerRunner.groovy b/src/test/groovy/net/fabricmc/loom/test/util/ServerRunner.groovy index 0a95fd7d..351a6869 100644 --- a/src/test/groovy/net/fabricmc/loom/test/util/ServerRunner.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/util/ServerRunner.groovy @@ -34,7 +34,7 @@ class ServerRunner { "1.16.5": "https://github.com/FabricMC/fabric/releases/download/0.37.1%2B1.16/fabric-api-0.37.1+1.16.jar", "1.17.1": "https://github.com/FabricMC/fabric/releases/download/0.37.1%2B1.17/fabric-api-0.37.1+1.17.jar" ] - static final String FABRIC_LANG_KOTLIN = "https://maven.fabricmc.net/net/fabricmc/fabric-language-kotlin/1.7.1%2Bkotlin.1.6.10/fabric-language-kotlin-1.7.1%2Bkotlin.1.6.10.jar" + static final String FABRIC_LANG_KOTLIN = "https://maven.fabricmc.net/net/fabricmc/fabric-language-kotlin/1.7.3%2Bkotlin.1.6.20/fabric-language-kotlin-1.7.3%2Bkotlin.1.6.20.jar" final File serverDir final String minecraftVersion