From 8c59071c98df9071cf9a9e42fe20198f40f582f0 Mon Sep 17 00:00:00 2001 From: Goooler Date: Thu, 12 Mar 2026 13:31:35 +0800 Subject: [PATCH] Get compilerOptionsMethod by lazy --- .../src/kgp/kotlin/tapmoc/internal/KgpImpl.kt | 23 +++++-------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/tapmoc-gradle-plugin/src/kgp/kotlin/tapmoc/internal/KgpImpl.kt b/tapmoc-gradle-plugin/src/kgp/kotlin/tapmoc/internal/KgpImpl.kt index 74fab23..57ea039 100644 --- a/tapmoc-gradle-plugin/src/kgp/kotlin/tapmoc/internal/KgpImpl.kt +++ b/tapmoc-gradle-plugin/src/kgp/kotlin/tapmoc/internal/KgpImpl.kt @@ -1,6 +1,5 @@ package tapmoc.internal -import java.lang.reflect.Method import org.gradle.api.Project import org.gradle.api.artifacts.dsl.DependencyHandler import org.gradle.api.provider.ProviderFactory @@ -19,22 +18,12 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinTarget import org.jetbrains.kotlin.gradle.plugin.KotlinTargetsContainer import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion -private var method: Method? = null -private var firstTime = true - -@Synchronized -private fun compilerOptionsMethod(): Method? { - if (firstTime) { - firstTime = false - - method = try { - KotlinMultiplatformExtension::class.java.getMethod("getCompilerOptions") - } catch (_: NoSuchMethodException) { - null - } +private val compilerOptionsMethod by lazy { + try { + KotlinMultiplatformExtension::class.java.getMethod("getCompilerOptions") + } catch (_: NoSuchMethodException) { + null } - - return method } private class KgpImpl(private val dependencyHandler: DependencyHandler, extension: Any, private val providers: ProviderFactory, private val kgpVersion: String) : Kgp { @@ -79,7 +68,7 @@ private class KgpImpl(private val dependencyHandler: DependencyHandler, extensio } } is KotlinMultiplatformExtension -> { - val compilerOptions = compilerOptionsMethod() + val compilerOptions = compilerOptionsMethod if (compilerOptions != null) { (compilerOptions.invoke(kotlinProjectExtension) as KotlinCommonCompilerOptions).apply { /**