diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleCoroutineDebugProjectResolver.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleCoroutineDebugProjectResolver.kt index b47b05de307..1473605ca65 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleCoroutineDebugProjectResolver.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleCoroutineDebugProjectResolver.kt @@ -31,12 +31,12 @@ class KotlinGradleCoroutineDebugProjectResolver : AbstractProjectResolverExtensi if (task instanceof Test || task instanceof JavaExec) { def kotlinxCoroutinesCoreJar = task.classpath.find { it.name.startsWith("kotlinx-coroutines-core") } if (kotlinxCoroutinesCoreJar) { - def results = (kotlinxCoroutinesCoreJar.getName() =~ /kotlinx-coroutines-core\-([\d\.]+)\.jar${'$'}/).findAll() + def results = (kotlinxCoroutinesCoreJar.getName() =~ /kotlinx-coroutines-core[a-z\-]+(\d[\w\.\-]+)\.jar${'$'}/).findAll() if (results) { def version = results.first()[1] - if (org.gradle.util.VersionNumber.parse( version ) >= org.gradle.util.VersionNumber.parse('1.3.8')) { + def referenceVersion = org.gradle.util.VersionNumber.parse('1.3.7-255') + if (org.gradle.util.VersionNumber.parse(version) > referenceVersion) { task.jvmArgs ("-javaagent:${'$'}{kotlinxCoroutinesCoreJar?.absolutePath}", "-ea") - return } } } diff --git a/idea/jvm-debugger/jvm-debugger-coroutine/src/org/jetbrains/kotlin/idea/debugger/coroutine/DebuggerConnection.kt b/idea/jvm-debugger/jvm-debugger-coroutine/src/org/jetbrains/kotlin/idea/debugger/coroutine/DebuggerConnection.kt index f067bb77d5e..b314d723d5a 100644 --- a/idea/jvm-debugger/jvm-debugger-coroutine/src/org/jetbrains/kotlin/idea/debugger/coroutine/DebuggerConnection.kt +++ b/idea/jvm-debugger/jvm-debugger-coroutine/src/org/jetbrains/kotlin/idea/debugger/coroutine/DebuggerConnection.kt @@ -57,12 +57,12 @@ class DebuggerConnection( } private fun determineCoreVersionMode(kotlinxCoroutinesCore: String): CoroutineDebuggerMode { - val regex = Regex(""".+\Wkotlinx-coroutines-core-(.+)?\.jar""") + val regex = Regex(""".+\Wkotlinx-coroutines-core([\-a-z]+)(\d[\w\.\-]+)?\.jar""") val matchResult = regex.matchEntire(kotlinxCoroutinesCore) ?: return CoroutineDebuggerMode.DISABLED val versionToCompareTo = DefaultArtifactVersion("1.3.7-255") - val artifactVersion = DefaultArtifactVersion(matchResult.groupValues[1]) - return if (artifactVersion >= versionToCompareTo) + val artifactVersion = DefaultArtifactVersion(matchResult.groupValues[2]) + return if (artifactVersion > versionToCompareTo) CoroutineDebuggerMode.VERSION_1_3_8_AND_UP else CoroutineDebuggerMode.DISABLED