From c4966c2b80335770b479e44c03146fa0f4d42bbb Mon Sep 17 00:00:00 2001 From: Jason Penilla <11360596+jpenilla@users.noreply.github.com> Date: Sat, 19 Jun 2021 18:28:01 -0700 Subject: [PATCH] bukkit: Add run tasks for testing legacy versions --- examples/example-bukkit/build.gradle.kts | 29 ++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/examples/example-bukkit/build.gradle.kts b/examples/example-bukkit/build.gradle.kts index 3e7ec2d8..62471db4 100644 --- a/examples/example-bukkit/build.gradle.kts +++ b/examples/example-bukkit/build.gradle.kts @@ -1,3 +1,5 @@ +import xyz.jpenilla.runpaper.task.RunServerTask + plugins { id("cloud.example-conventions") id("com.github.johnrengelman.shadow") @@ -27,5 +29,32 @@ tasks { } runServer { minecraftVersion("1.17") + javaLauncher.set(project.javaToolchains.launcherFor { + languageVersion.set(JavaLanguageVersion.of(16)) + }) + } + + // Setup a run task for each supported version + mapOf( + setOf("1.8.8", "1.9.4", "1.10.2", "1.11.2", "1.12.2") to 8, + setOf("1.13.2", "1.14.4", "1.15.2") to 11, + setOf("1.16.5", "1.17") to 16 + ).forEach { (minecraftVersions, javaVersion) -> + for (version in minecraftVersions) { + createVersionedRun(version, javaVersion) + } } } + +fun TaskContainerScope.createVersionedRun( + version: String, + javaVersion: Int +) = register("runServer${version.replace(".", "")}") { + group = "cloud" + pluginJars.from(shadowJar.flatMap { it.archiveFile }) + minecraftVersion(version) + runDirectory(file("run$version")) + javaLauncher.set(project.javaToolchains.launcherFor { + languageVersion.set(JavaLanguageVersion.of(javaVersion)) + }) +}