From 1cceec36427025304807bfdcb66389c702b87472 Mon Sep 17 00:00:00 2001 From: Alexander Likhachev Date: Fri, 12 Feb 2021 14:28:53 +0300 Subject: [PATCH] [Gradle, JS] Postpone TeamCity project property read using 'by lazy' Replace direct Gradle property access to provider usage. See https://docs.gradle.org/6.8.2/userguide/configuration_cache.html#config_cache:requirements:undeclared_gradle_prop_read --- .../kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt | 4 +++- .../kotlin/gradle/targets/js/testing/mocha/KotlinMocha.kt | 4 +++- .../kotlin/gradle/targets/native/tasks/KotlinNativeTest.kt | 2 +- 3 files changed, 7 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 1f42f106096..aca60c1255c 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 @@ -59,7 +59,9 @@ class KotlinKarma( private var configDirectory: File by property { defaultConfigDirectory } - private val isTeamCity = project.hasProperty(TC_PROJECT_PROPERTY) + private val isTeamCity by lazy { + project.providers.gradleProperty(TC_PROJECT_PROPERTY).forUseAtConfigurationTime().isPresent + } override val requiredNpmDependencies: Set get() = requiredDependencies + webpackConfig.getRequiredDependencies(versions) 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 3d53107cb6a..58a355982f3 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 @@ -28,7 +28,9 @@ class KotlinMocha(@Transient override val compilation: KotlinJsCompilation, priv private val npmProject = compilation.npmProject private val nodeJs = NodeJsRootPlugin.apply(project.rootProject) private val versions = nodeJs.versions - private val isTeamCity = project.hasProperty(TC_PROJECT_PROPERTY) + private val isTeamCity by lazy { + project.providers.gradleProperty(TC_PROJECT_PROPERTY).forUseAtConfigurationTime().isPresent + } override val settingsState: String get() = "mocha" 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 9a237dc0be8..8f05af8113d 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 @@ -114,7 +114,7 @@ abstract class KotlinNativeTest : KotlinTest() { prependSuiteName = targetName != null, treatFailedTestOutputAsStacktrace = false, stackTraceParser = ::parseKotlinNativeStackTraceAsJvm, - escapeTCMessagesInLog = project.hasProperty(TC_PROJECT_PROPERTY) + escapeTCMessagesInLog = project.providers.gradleProperty(TC_PROJECT_PROPERTY).forUseAtConfigurationTime().isPresent ) // The KotlinTest expects that the exit code is zero even if some tests failed.