1
1
/*
2
- * Copyright (c) 2024. ForteScarlet.
2
+ * Copyright (c) 2024-2025 . ForteScarlet.
3
3
*
4
4
* This file is part of simbot-component-qq-guild.
5
5
*
@@ -21,13 +21,11 @@ import org.gradle.api.tasks.compile.JavaCompile
21
21
import org.gradle.kotlin.dsl.assign
22
22
import org.gradle.kotlin.dsl.get
23
23
import org.gradle.kotlin.dsl.getByName
24
- import org.gradle.kotlin.dsl.withType
25
24
import org.gradle.process.CommandLineArgumentProvider
26
25
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
27
26
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
28
27
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
29
28
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
30
- import org.jetbrains.kotlin.gradle.dsl.KotlinTopLevelExtension
31
29
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
32
30
33
31
@@ -52,25 +50,23 @@ inline fun KotlinJvmTarget.configJava(crossinline block: KotlinJvmTarget.() -> U
52
50
}
53
51
54
52
55
- fun KotlinTopLevelExtension.configJavaToolchain (jdkVersion : Int ) {
56
- jvmToolchain(jdkVersion)
57
- }
58
-
59
53
inline fun KotlinMultiplatformExtension.configKotlinJvm (
60
54
jdkVersion : Int = JVMConstants .KT_JVM_TARGET_VALUE ,
61
55
crossinline block : KotlinJvmTarget .() -> Unit = {}
62
56
) {
63
- configJavaToolchain (jdkVersion)
57
+ jvmToolchain (jdkVersion)
64
58
jvm {
65
59
configJava(block)
60
+ compilerOptions {
61
+ }
66
62
}
67
63
}
68
64
69
65
inline fun KotlinJvmProjectExtension.configKotlinJvm (
70
66
jdkVersion : Int = JVMConstants .KT_JVM_TARGET_VALUE ,
71
67
crossinline block : KotlinJvmProjectExtension .() -> Unit = {}
72
68
) {
73
- configJavaToolchain (jdkVersion)
69
+ jvmToolchain (jdkVersion)
74
70
compilerOptions {
75
71
javaParameters = true
76
72
jvmTarget.set(JvmTarget .fromTarget(jdkVersion.toString()))
@@ -80,16 +76,23 @@ inline fun KotlinJvmProjectExtension.configKotlinJvm(
80
76
block()
81
77
}
82
78
79
+ /* *
80
+ * 要放在 `kotlin {}` 下面
81
+ */
83
82
inline fun Project.configJavaCompileWithModule (
84
83
moduleName : String? = null,
85
84
jvmVersion : String = JVMConstants .KT_JVM_TARGET ,
86
85
crossinline block : JavaCompile .() -> Unit = {}
87
86
) {
88
- tasks.withType< JavaCompile > {
87
+ tasks.named( " compileJava " , JavaCompile :: class .java) {
89
88
options.encoding = " UTF-8"
90
89
sourceCompatibility = jvmVersion
91
90
targetCompatibility = jvmVersion
92
91
92
+ println (" $this sourceSets[\" main\" ]: ${sourceSets[" main" ]} " )
93
+ println (" $this sourceSets[\" main\" ].output: ${sourceSets[" main" ].output} " )
94
+ println (" $this sourceSets[\" main\" ].output.asPath: ${sourceSets[" main" ].output.asPath} " )
95
+
93
96
if (moduleName != null ) {
94
97
options.compilerArgumentProviders.add(CommandLineArgumentProvider {
95
98
// Provide compiled Kotlin classes to javac – needed for Java/Kotlin mixed sources to work
0 commit comments