File tree Expand file tree Collapse file tree 4 files changed +15
-15
lines changed
test/groovy/ru/endlesscode/bukkitgradle Expand file tree Collapse file tree 4 files changed +15
-15
lines changed Original file line number Diff line number Diff line change 1111 improving maintainability and compatibility with various server versions.
1212- Set the default [ JVM toolchain] ( https://docs.gradle.org/current/userguide/toolchains.html ) version
1313 instead of setting JVM target and source compatibility to 1.8.
14- The default JVM version depends on [ Paper requirements ] ( https://docs.papermc.io/paper/getting-started#requirements ) .
14+ By default, the minimal supported JVM version compatible with the specified ` bukkit.server.version ` is used .
1515- Use lazy API for ` bukkit.apiVersion ` and ` bukkit.generateMeta ` properties.
1616- Accept EULA using CLI parameter ` -Dcom.mojang.eula.agree=true ` instead of changing ` eula.txt `
1717
Original file line number Diff line number Diff line change @@ -40,7 +40,7 @@ public class BukkitGradlePlugin : Plugin<Project> {
4040
4141 extensions.configure<JavaPluginExtension > {
4242 toolchain {
43- languageVersion.convention(bukkit.parsedApiVersion.map(::resolveRecommendedJavaVersion ))
43+ languageVersion.convention(bukkit.parsedApiVersion.map(::resolveMinimalJavaVersion ))
4444 }
4545 }
4646 }
@@ -78,11 +78,13 @@ public class BukkitGradlePlugin : Plugin<Project> {
7878 else -> version.toString()
7979 }
8080
81- // See: https://docs.papermc.io/paper/getting-started#requirements
82- private fun resolveRecommendedJavaVersion (version : MinecraftVersion ): JavaLanguageVersion = when {
83- version >= MinecraftVersion .V1_17_1 -> JavaLanguageVersion .of(21 )
84- version >= MinecraftVersion .V1_16_5 -> JavaLanguageVersion .of(16 )
85- version >= MinecraftVersion .V1_12_0 -> JavaLanguageVersion .of(11 )
81+ private fun resolveMinimalJavaVersion (version : MinecraftVersion ): JavaLanguageVersion = when {
82+ // https://minecraft.wiki/w/Java_Edition_1.20.5#General_2
83+ version >= MinecraftVersion .V1_20_5 -> JavaLanguageVersion .of(21 )
84+ // https://minecraft.wiki/w/Java_Edition_1.18#General_2
85+ version >= MinecraftVersion .V1_18_0 -> JavaLanguageVersion .of(17 )
86+ // https://minecraft.wiki/w/Java_Edition_1.17#General_2
87+ version >= MinecraftVersion .V1_17_0 -> JavaLanguageVersion .of(16 )
8688 else -> JavaLanguageVersion .of(8 )
8789 }
8890}
Original file line number Diff line number Diff line change @@ -21,11 +21,9 @@ internal value class MinecraftVersion(private val value: Int) : Comparable<Minec
2121 return MinecraftVersion (major * 1_00_00 + minor * 1_00 + patch)
2222 }
2323
24- val V1_12_0 = MinecraftVersion (1_12_00 )
2524 val V1_13_0 = MinecraftVersion (1_13_00 )
26- val V1_16_5 = MinecraftVersion (1_16_05 )
2725 val V1_17_0 = MinecraftVersion (1_17_00 )
28- val V1_17_1 = MinecraftVersion (1_17_01 )
26+ val V1_18_0 = MinecraftVersion (1_18_00 )
2927 val V1_20_5 = MinecraftVersion (1_20_05 )
3028 }
3129}
Original file line number Diff line number Diff line change @@ -21,12 +21,12 @@ class BukkitGradlePluginSpec extends PluginSpecification {
2121
2222 where :
2323 apiVersion | jvmVersion
24- " 1.11" | 8
25- " 1.12" | 11
26- " 1.16.4" | 11
27- " 1.16.5" | 16
24+ " 1.16.5" | 8
2825 " 1.17" | 16
29- " 1.17.1" | 21
26+ " 1.17.1" | 16
27+ " 1.18" | 17
28+ " 1.20.4" | 17
29+ " 1.20.5" | 21
3030 }
3131
3232 def " when use custom repos extension - should add repos" () {
You can’t perform that action at this time.
0 commit comments