diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt index f22d2d3353e..cce4fd6ed50 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt @@ -92,6 +92,7 @@ abstract class KotlinJsDce : AbstractKotlinCompileTool(), Kotl @TaskAction fun performDce(inputChanges: InputChanges) { + validateCompilerClasspath() // in case of explicit `all` strategy do not perform incremental copy val shouldPerformIncrementalCopy = isDevMode && !isExplicitDevModeAllStrategy diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt index 14ce845d132..afb77aa754d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt @@ -106,11 +106,10 @@ abstract class AbstractKotlinCompileTool internal val defaultCompilerClasspath: ConfigurableFileCollection = project.objects.fileCollection() - init { - this.doFirst { - require(!defaultCompilerClasspath.isEmpty) { - "Default Kotlin compiler classpath is empty! Task: $path (${this::class.qualifiedName})" - } + protected fun validateCompilerClasspath() { + // Note that the check triggers configuration resolution + require(!defaultCompilerClasspath.isEmpty) { + "Default Kotlin compiler classpath is empty! Task: $path (${this::class.qualifiedName})" } } } @@ -346,6 +345,7 @@ abstract class AbstractKotlinCompile : AbstractKotl } val buildMetrics = metrics.get() buildMetrics.measure(BuildTime.GRADLE_TASK_ACTION) { + validateCompilerClasspath() systemPropertiesService.get().startIntercept() CompilerSystemProperties.KOTLIN_COMPILER_ENVIRONMENT_KEEPALIVE_PROPERTY.value = "true"