[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.KotlinCompilerExecutionStrategy
import org.jetbrains.kotlin.gradle.tasks.cleanOutputsAndLocalState import org.jetbrains.kotlin.gradle.tasks.cleanOutputsAndLocalState
import org.jetbrains.kotlin.gradle.tasks.throwGradleExceptionIfError 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.ChangedFiles
import org.jetbrains.kotlin.incremental.ClasspathChanges import org.jetbrains.kotlin.incremental.ClasspathChanges
import org.jetbrains.kotlin.incremental.IncrementalModuleInfo import org.jetbrains.kotlin.incremental.IncrementalModuleInfo
import org.jetbrains.kotlin.util.suffixIfNot import org.jetbrains.kotlin.util.removeSuffixIfPresent
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
import java.io.* import java.io.*
import java.net.URLClassLoader import java.net.URLClassLoader
@@ -155,10 +156,13 @@ internal class GradleKotlinCompilerWork @Inject constructor(
e e
) )
} }
val failDetails = e.stackTraceAsString().removeSuffixIfPresent("\n")
log.warn( log.warn(
"Failed to compile with Kotlin daemon: ${e.stackTraceToString().suffixIfNot("\n")}" + """
"Using fallback strategy: Compile without Kotlin daemon\n" + |Failed to compile with Kotlin daemon: $failDetails
"Try ./gradlew --stop if this issue persists." |Using fallback strategy: Compile without Kotlin daemon
|Try ./gradlew --stop if this issue persists.
""".trimMargin()
) )
} }
} }