diff --git a/gradle/jps.gradle.kts b/gradle/jps.gradle.kts
index ae68ee41844..e89b34b4a20 100644
--- a/gradle/jps.gradle.kts
+++ b/gradle/jps.gradle.kts
@@ -480,7 +480,7 @@ fun RecursiveArtifact.jarContentsFromConfiguration(configuration: Configuration)
resolvedArtifacts.filter { it.id.componentIdentifier is ModuleComponentIdentifier }
.map { it.file }
- .forEach(::extractedDirectory)
+ .forEach { extractedDirectory(it) }
resolvedArtifacts
.map { it.id.componentIdentifier }
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 55f8a80f0e7..4c48443f2bc 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -8959,6 +8959,13 @@
+
+
+
+
+
+
+
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 2dfd4cd040a..a0a653ca902 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip
-distributionSha256Sum=8ad57759019a9233dc7dc4d1a530cefe109dc122000d57f7e623f8cf4ba9dfc4
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
+distributionSha256Sum=7faa7198769f872826c8ef4f1450f839ec27f0b4d5d1e51bade63667cbccd205
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/testing/TCServiceMessagesClient.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/testing/TCServiceMessagesClient.kt
index 875ca84dae5..f893a3af03d 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/testing/TCServiceMessagesClient.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/testing/TCServiceMessagesClient.kt
@@ -17,6 +17,7 @@ import org.gradle.process.internal.ExecHandle
import org.jetbrains.kotlin.gradle.internal.LogType
import org.jetbrains.kotlin.gradle.logging.kotlinDebug
import org.jetbrains.kotlin.gradle.testing.KotlinTestFailure
+import org.jetbrains.kotlin.gradle.utils.LegacyTestDescriptorInternal
import org.slf4j.Logger
import java.text.ParseException
@@ -389,11 +390,12 @@ internal open class TCServiceMessagesClient(
}
inner class RootNode(val ownerBuildOperationId: OperationIdentifier) : GroupNode(null, settings.rootNodeName) {
- override val descriptor: TestDescriptorInternal = object : DefaultTestSuiteDescriptor(settings.rootNodeName, localId) {
- override fun getOwnerBuildOperationId(): Any? = this@RootNode.ownerBuildOperationId
- override fun getParent(): TestDescriptorInternal? = null
- override fun toString(): String = name
- }
+ override val descriptor: TestDescriptorInternal =
+ object : DefaultTestSuiteDescriptor(settings.rootNodeName, localId), LegacyTestDescriptorInternal {
+ override fun getOwnerBuildOperationId(): Any? = this@RootNode.ownerBuildOperationId
+ override fun getParent(): TestDescriptorInternal? = null
+ override fun toString(): String = name
+ }
override fun requireReportingNode(): TestDescriptorInternal = descriptor
@@ -435,7 +437,7 @@ internal open class TCServiceMessagesClient(
val reportingParent = parents.last() as RootNode
this.reportingParent = reportingParent
- descriptor = object : DefaultTestSuiteDescriptor(id, fullName) {
+ descriptor = object : DefaultTestSuiteDescriptor(id, fullName), LegacyTestDescriptorInternal {
override fun getDisplayName(): String = fullNameWithoutRoot
override fun getClassName(): String? = fullNameWithoutRoot
override fun getOwnerBuildOperationId(): Any? = rootOperationId
@@ -481,7 +483,7 @@ internal open class TCServiceMessagesClient(
private val parentDescriptor = (this@TestNode.parent as GroupNode).requireReportingNode()
override val descriptor: TestDescriptorInternal =
- object : DefaultTestDescriptor(id, className, methodName, classDisplayName, displayName) {
+ object : DefaultTestDescriptor(id, className, methodName, classDisplayName, displayName), LegacyTestDescriptorInternal {
override fun getOwnerBuildOperationId(): Any? = rootOperationId
override fun getParent(): TestDescriptorInternal = parentDescriptor
}
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/compatibiltiy.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/compatibiltiy.kt
index b467ebbe879..9059622111e 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/compatibiltiy.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/compatibiltiy.kt
@@ -24,10 +24,12 @@ import org.gradle.api.file.CopySpec
import org.gradle.api.file.FileSystemOperations
import org.gradle.api.file.FileTree
import org.gradle.api.internal.project.ProjectInternal
+import org.gradle.api.internal.tasks.testing.TestDescriptorInternal
import org.gradle.api.tasks.TaskInputs
import org.gradle.api.tasks.TaskOutputs
import org.gradle.api.tasks.WorkResult
import org.gradle.api.tasks.bundling.AbstractArchiveTask
+import org.gradle.api.tasks.testing.TestDescriptor
import org.gradle.util.GradleVersion
import java.io.File
@@ -110,4 +112,16 @@ internal class FileSystemOperationsCompat(@Transient private val project: Projec
else -> project.copy(action)
}
}
+}
+
+// Gradle dropped out getOwnerBuildOperationId. Workaround to build correct plugin for Gradle < 6.8
+// See https://github.com/gradle/gradle/commit/0296f4441ae69ad608cfef6a90fef3fdf314fa2c
+internal interface LegacyTestDescriptorInternal : TestDescriptor {
+ override fun getParent(): TestDescriptorInternal?
+
+ fun getId(): Any?
+
+ fun getOwnerBuildOperationId(): Any?
+
+ fun getClassDisplayName(): String?
}
\ No newline at end of file
diff --git a/prepare/idea-plugin/build.gradle.kts b/prepare/idea-plugin/build.gradle.kts
index f152fa66d9d..c5b00c75d73 100644
--- a/prepare/idea-plugin/build.gradle.kts
+++ b/prepare/idea-plugin/build.gradle.kts
@@ -198,7 +198,7 @@ dependencies {
(libraries.dependencies + gradleToolingModel.dependencies)
.map { if (it is ProjectDependency) it.dependencyProject else it }
- .forEach(::compile)
+ .forEach { compile(it) }
}
val jar = runtimeJar {