@@ -3,14 +3,15 @@ package ru.endlesscode.bukkitgradle.server
33import org.gradle.api.Plugin
44import org.gradle.api.Project
55import org.gradle.api.file.Directory
6+ import org.gradle.api.plugins.JavaPluginExtension
67import org.gradle.api.provider.Provider
78import org.gradle.api.tasks.TaskContainer
89import org.gradle.api.tasks.TaskProvider
9- import org.gradle.kotlin.dsl.apply
10- import org.gradle.kotlin.dsl.named
11- import org.gradle.kotlin.dsl.register
10+ import org.gradle.jvm.toolchain.JavaToolchainService
11+ import org.gradle.kotlin.dsl.*
1212import ru.endlesscode.bukkitgradle.Bukkit
1313import ru.endlesscode.bukkitgradle.bukkit
14+ import ru.endlesscode.bukkitgradle.meta.util.resolveMinimalJavaVersion
1415import ru.endlesscode.bukkitgradle.server.extension.ServerConfiguration
1516import ru.endlesscode.bukkitgradle.server.task.CreateIdeaGradleRunConfiguration
1617import ru.endlesscode.bukkitgradle.server.task.PrepareServer
@@ -52,12 +53,31 @@ public class DevServerPlugin : Plugin<Project> {
5253 }
5354 }
5455
56+ // RunPaperPlugin uses afterEvaluate under the hood, so we have to use afterEvaluate
57+ // to set our conventions after theirs
58+ project.afterEvaluate { configureDefaultJvmForServer() }
59+
5560 val prepareServer = registerPrepareServerTask(runServer)
5661 runServer.configure { dependsOn(prepareServer) }
5762
5863 registerBuildIdeRunTask(runServer)
5964 }
6065
66+ private fun Project.configureDefaultJvmForServer () {
67+ val toolchains = project.extensions.findByType<JavaToolchainService >() ? : return
68+ val spec = the<JavaPluginExtension >().toolchain
69+
70+ tasks.withType<RunServer >().configureEach {
71+ javaLauncher.convention(
72+ toolchains.launcherFor {
73+ languageVersion.convention(version.map(::resolveMinimalJavaVersion))
74+ implementation.convention(spec.implementation)
75+ vendor.convention(spec.vendor)
76+ }
77+ )
78+ }
79+ }
80+
6181 private fun Project.resolveConfiguredServerDir (): Provider <Directory >? {
6282 val deprecated = DeprecatedServerProperties (rootDir, providers)
6383
0 commit comments