diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/importing/KotlinDslScriptModelProcessor.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/importing/KotlinDslScriptModelProcessor.kt index 2698124f9e3..4346f953969 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/importing/KotlinDslScriptModelProcessor.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/importing/KotlinDslScriptModelProcessor.kt @@ -63,19 +63,24 @@ fun processScriptModel( } } - if (models.containsErrors()) { + val errors = models.collectErrors() + if (errors.isNotEmpty()) { if (sync != null) { synchronized(sync) { sync.failed = true } } - throw IllegalStateException(KotlinIdeaGradleBundle.message("title.kotlin.build.script")) + throw IllegalStateException( + KotlinIdeaGradleBundle.message("title.kotlin.build.script") + + ":\n" + + errors.joinToString("\n") { it.text + "\n" + it.details } + ) } } } -private fun Collection.containsErrors(): Boolean { - return any { it.messages.any { it.severity == KotlinDslScriptModel.Severity.ERROR } } +private fun Collection.collectErrors(): List { + return this.flatMap { it.messages.filter { it.severity == KotlinDslScriptModel.Severity.ERROR } } } private fun KotlinDslScriptsModel.toListOfScriptModels(project: Project): List =