[Gradle] Make daemon connection error logging compatible with Gradle 6.7

`Throwable.stackTraceAsString` is available in stdlib since Kotlin 1.4, but Gradle 6.7 uses bundled Kotlin 1.3. Use `stackTraceAsString` that does exactly the same from KGP instead
This commit is contained in:
Alexander Likhachev
2022-08-07 06:43:20 +02:00
parent 468ff889a7
commit c1f0e71056
@@ -18,10 +18,11 @@ import org.jetbrains.kotlin.gradle.report.*
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilerExecutionStrategy
import org.jetbrains.kotlin.gradle.tasks.cleanOutputsAndLocalState
import org.jetbrains.kotlin.gradle.tasks.throwGradleExceptionIfError
import org.jetbrains.kotlin.gradle.utils.stackTraceAsString
import org.jetbrains.kotlin.incremental.ChangedFiles
import org.jetbrains.kotlin.incremental.ClasspathChanges
import org.jetbrains.kotlin.incremental.IncrementalModuleInfo
import org.jetbrains.kotlin.util.suffixIfNot
import org.jetbrains.kotlin.util.removeSuffixIfPresent
import org.slf4j.LoggerFactory
import java.io.*
import java.net.URLClassLoader
@@ -155,10 +156,13 @@ internal class GradleKotlinCompilerWork @Inject constructor(
e
)
}
val failDetails = e.stackTraceAsString().removeSuffixIfPresent("\n")
log.warn(
"Failed to compile with Kotlin daemon: ${e.stackTraceToString().suffixIfNot("\n")}" +
"Using fallback strategy: Compile without Kotlin daemon\n" +
"Try ./gradlew --stop if this issue persists."
"""
|Failed to compile with Kotlin daemon: $failDetails
|Using fallback strategy: Compile without Kotlin daemon
|Try ./gradlew --stop if this issue persists.
""".trimMargin()
)
}
}