From b463a0fa5886eca15871ac5e8c4ebd1b1259c763 Mon Sep 17 00:00:00 2001 From: Alexander Likhachev Date: Mon, 15 Feb 2021 09:58:51 +0300 Subject: [PATCH] [Gradle] Use property provider for configuration time only if available --- .../kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt | 7 ++++++- .../kotlin/gradle/targets/js/testing/mocha/KotlinMocha.kt | 7 ++++++- .../kotlin/gradle/targets/native/tasks/KotlinNativeTest.kt | 7 ++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt index aca60c1255c..068bc7c8e51 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt @@ -32,6 +32,7 @@ import org.jetbrains.kotlin.gradle.targets.js.testing.* import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig import org.jetbrains.kotlin.gradle.tasks.KotlinTest import org.jetbrains.kotlin.gradle.testing.internal.reportsDir +import org.jetbrains.kotlin.gradle.utils.isConfigurationCacheAvailable import org.jetbrains.kotlin.gradle.utils.property import org.slf4j.Logger import java.io.File @@ -60,7 +61,11 @@ class KotlinKarma( defaultConfigDirectory } private val isTeamCity by lazy { - project.providers.gradleProperty(TC_PROJECT_PROPERTY).forUseAtConfigurationTime().isPresent + if (isConfigurationCacheAvailable(project.gradle)) { + project.providers.gradleProperty(TC_PROJECT_PROPERTY).forUseAtConfigurationTime().isPresent + } else { + project.hasProperty(TC_PROJECT_PROPERTY) + } } override val requiredNpmDependencies: Set diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/mocha/KotlinMocha.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/mocha/KotlinMocha.kt index 58a355982f3..052f0b73bf2 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/mocha/KotlinMocha.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/mocha/KotlinMocha.kt @@ -19,6 +19,7 @@ import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTestFramework import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinTestRunnerCliArgs +import org.jetbrains.kotlin.gradle.utils.isConfigurationCacheAvailable import java.io.File class KotlinMocha(@Transient override val compilation: KotlinJsCompilation, private val basePath: String) : @@ -29,7 +30,11 @@ class KotlinMocha(@Transient override val compilation: KotlinJsCompilation, priv private val nodeJs = NodeJsRootPlugin.apply(project.rootProject) private val versions = nodeJs.versions private val isTeamCity by lazy { - project.providers.gradleProperty(TC_PROJECT_PROPERTY).forUseAtConfigurationTime().isPresent + if (isConfigurationCacheAvailable(project.gradle)) { + project.providers.gradleProperty(TC_PROJECT_PROPERTY).forUseAtConfigurationTime().isPresent + } else { + project.hasProperty(TC_PROJECT_PROPERTY) + } } override val settingsState: String diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTest.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTest.kt index 8f05af8113d..f13a5924831 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTest.kt @@ -21,6 +21,7 @@ import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesTestExecuto import org.jetbrains.kotlin.gradle.plugin.mpp.isAtLeast import org.jetbrains.kotlin.gradle.targets.native.internal.parseKotlinNativeStackTraceAsJvm import org.jetbrains.kotlin.gradle.tasks.KotlinTest +import org.jetbrains.kotlin.gradle.utils.isConfigurationCacheAvailable import org.jetbrains.kotlin.konan.CompilerVersion import java.io.File import java.util.concurrent.Callable @@ -114,7 +115,11 @@ abstract class KotlinNativeTest : KotlinTest() { prependSuiteName = targetName != null, treatFailedTestOutputAsStacktrace = false, stackTraceParser = ::parseKotlinNativeStackTraceAsJvm, - escapeTCMessagesInLog = project.providers.gradleProperty(TC_PROJECT_PROPERTY).forUseAtConfigurationTime().isPresent + escapeTCMessagesInLog = if (isConfigurationCacheAvailable(project.gradle)) { + project.providers.gradleProperty(TC_PROJECT_PROPERTY).forUseAtConfigurationTime().isPresent + } else { + project.hasProperty(TC_PROJECT_PROPERTY) + } ) // The KotlinTest expects that the exit code is zero even if some tests failed. -- GitLab