You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/DefaultKotlinJavaToolchain.kt
+8-1Lines changed: 8 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -42,6 +42,9 @@ internal abstract class DefaultKotlinJavaToolchain @Inject constructor(
42
42
.property(Jvm.current())
43
43
.chainedFinalizeValueOnRead()
44
44
45
+
@get:Internal
46
+
internalvar providedJvmExplicitlySet =false
47
+
45
48
@get:Internal
46
49
internalval providedJvm:Property<Jvm> = objects
47
50
.propertyWithConvention(currentJvm)
@@ -115,6 +118,7 @@ internal abstract class DefaultKotlinJavaToolchain @Inject constructor(
115
118
providedJvm,
116
119
currentGradleVersion,
117
120
objects,
121
+
{ providedJvmExplicitlySet =true },
118
122
kotlinCompileTaskProvider
119
123
)
120
124
@@ -146,7 +150,7 @@ internal abstract class DefaultKotlinJavaToolchain @Inject constructor(
146
150
"\"updateJvmTarget()\" method should be called only on task execution!"
147
151
}
148
152
149
-
if (providedJvm.isPresent) {
153
+
if (providedJvmExplicitlySet) {
150
154
val jdkVersion = javaVersion.get()
151
155
152
156
// parentKotlinOptionsImpl is set from 'kotlin-android' plugin
@@ -195,6 +199,7 @@ internal abstract class DefaultKotlinJavaToolchain @Inject constructor(
195
199
privatevalprovidedJvm:Property<Jvm>,
196
200
privatevalcurrentGradleVersion:GradleVersion,
197
201
privatevalobjects:ObjectFactory,
202
+
privatevalupdateProvidedJdkCallback: () ->Unit,
198
203
kotlinCompileTaskProvider: () ->KotlinCompile?
199
204
) : JvmTargetUpdater(kotlinCompileTaskProvider),
200
205
KotlinJavaToolchain.JdkSetter {
@@ -210,6 +215,7 @@ internal abstract class DefaultKotlinJavaToolchain @Inject constructor(
210
215
"Supplied jdkHomeLocation does not exists. You supplied: $jdkHomeLocation"
211
216
}
212
217
218
+
updateProvidedJdkCallback.invoke()
213
219
providedJvm.set(
214
220
objects.providerWithLazyConvention {
215
221
updateJvmTarget(jdkVersion)
@@ -234,6 +240,7 @@ internal abstract class DefaultKotlinJavaToolchain @Inject constructor(
0 commit comments