diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/BuildKotlinToolingMetadataTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/BuildKotlinToolingMetadataTest.kt index feff95cca69..f9b7521754a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/BuildKotlinToolingMetadataTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/BuildKotlinToolingMetadataTest.kt @@ -26,6 +26,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMetadataTarget import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithHostTests import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget +import org.jetbrains.kotlin.gradle.tooling.BuildKotlinToolingMetadataTask import org.jetbrains.kotlin.gradle.tooling.buildKotlinToolingMetadataTask import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.library.KotlinAbiVersion @@ -186,7 +187,7 @@ class BuildKotlinToolingMetadataTest { } private fun getKotlinToolingMetadata(): KotlinToolingMetadata { - val task = project.buildKotlinToolingMetadataTask!!.get() - return task.getKotlinToolingMetadata() + val task = project.buildKotlinToolingMetadataTask?.get() ?: error("No ${BuildKotlinToolingMetadataTask.defaultTaskName} task") + return task.kotlinToolingMetadata } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tooling/BuildKotlinToolingMetadataTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tooling/BuildKotlinToolingMetadataTask.kt index 060834903d4..d79f137a879 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tooling/BuildKotlinToolingMetadataTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tooling/BuildKotlinToolingMetadataTask.kt @@ -44,7 +44,7 @@ internal val Project.buildKotlinToolingMetadataTask: TaskProvider = project.objects.property(File::class.java) .convention(project.buildDir.resolve("kotlinToolingMetadata").resolve("kotlin-tooling-metadata.json")) - @Internal - fun getKotlinToolingMetadata(): KotlinToolingMetadata { - return project.kotlinExtension.getKotlinToolingMetadata() + @get:Internal + internal val kotlinToolingMetadata by lazy { + project.kotlinExtension.getKotlinToolingMetadata() } - @Input - internal fun getKotlinToolingMetadataJson(): String = getKotlinToolingMetadata().toJsonString() + @get:Input + internal val kotlinToolingMetadataJson + get() = kotlinToolingMetadata.toJsonString() @TaskAction internal fun createToolingMetadataFile() { val outputFile = outputFile.orNull ?: return outputFile.parentFile.mkdirs() - outputFile.writeText(getKotlinToolingMetadataJson()) + outputFile.writeText(kotlinToolingMetadataJson) } }