From ab6174defd25d40b37db4d536cdf0f6e86c53cda Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Wed, 3 Jul 2019 12:47:10 +0300 Subject: [PATCH] Revert "Check JDK env vars once during configuration when not syncing" This reverts commit 48b86bba --- build.gradle.kts | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index f9d7368ea5c..7b652803cdb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -122,19 +122,30 @@ extra["JDK_9"] = jdkPath("9") extra["JDK_10"] = jdkPath("10") extra["JDK_11"] = jdkPath("11") -// allow opening the project without setting up all env variables (see KT-26413) -if (!kotlinBuildProperties.isInIdeaSync) { +gradle.taskGraph.beforeTask() { checkJDK() } +var jdkChecked: Boolean = false fun checkJDK() { - val missingEnvVars = JdkMajorVersion.values() - .filter { it.isMandatory() && extra[it.name] == jdkNotFoundConst } - .mapTo(ArrayList()) { it.name } - - if (missingEnvVars.isNotEmpty()) { - throw GradleException("Required environment variables are missing: ${missingEnvVars.joinToString()}") + if (jdkChecked) { + return } + + val unpresentJdks = JdkMajorVersion.values() + .filter { it.isMandatory() } + .map { it.name } + .filter { extra[it] == jdkNotFoundConst } + .toList() + + if (unpresentJdks.isNotEmpty()) { + throw GradleException("Please set environment variable" + + (if (unpresentJdks.size > 1) "s" else "") + + ": " + unpresentJdks.joinToString() + + " to point to corresponding JDK installation.") + } + + jdkChecked = true } rootProject.apply {