From fe50029beb4fb4a26794a17c7425cc1e6ad10453 Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Wed, 7 Aug 2019 15:44:23 +0300 Subject: [PATCH] Adjust task output detection for Gradle 4.9 --- .../jetbrains/kotlin/gradle/BaseGradleIT.kt | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt index ae714ec81fa..950bb4ac1dc 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt @@ -4,6 +4,7 @@ import com.intellij.testFramework.TestDataFile import org.gradle.api.logging.LogLevel import org.gradle.tooling.GradleConnector import org.gradle.util.GradleVersion +import org.intellij.lang.annotations.Language import org.jdom.Element import org.jdom.input.SAXBuilder import org.jdom.output.Format @@ -537,11 +538,18 @@ abstract class BaseGradleIT { } fun CompiledProject.getOutputForTask(taskName: String): String { - val taskOutputRegex = ("(?:\\[LIFECYCLE] \\[class org\\.gradle(?:\\.internal\\.buildevents)?\\.TaskExecutionLogger] :$taskName|" + - "\\[org\\.gradle\\.execution\\.plan\\.DefaultPlanExecutor\\] :$taskName.*?started)" + - "([\\s\\S]+?)" + - "(?:Finished executing task ':$taskName'|" + - "\\[org\\.gradle\\.execution\\.plan\\.DefaultPlanExecutor\\] :$taskName.*?completed)").toRegex() + @Language("RegExp") + val taskOutputRegex = """ +(?: +\[LIFECYCLE] \[class org\.gradle(?:\.internal\.buildevents)?\.TaskExecutionLogger] :$taskName| +\[org\.gradle\.execution\.(?:plan|taskgraph)\.Default(?:Task)?PlanExecutor] :$taskName.*?started +) +([\s\S]+?) +(?: +Finished executing task ':$taskName'| +\[org\.gradle\.execution\.(?:plan|taskgraph)\.Default(?:Task)?PlanExecutor] :$taskName.*?completed +) +""".trimIndent().replace("\n", "").toRegex() return taskOutputRegex.find(output)?.run { groupValues[1] } ?: error("Cannot find output for task $taskName") }