From 5cf76aa9508520fd7376f1ccd7c979e4b8f4570f Mon Sep 17 00:00:00 2001 From: Andrei Klunnyi Date: Wed, 26 Aug 2020 15:12:20 +0200 Subject: [PATCH] KT-41425 Project can not be launched with Gradle runner 93a82060 introduced support of "delegate to Gradle" for Gradle-Kotlin. This commit fixes an issue known as "Could not get unknown property 'sourceSets' for root project". --- .../execution/KotlinGradleAppEnvProvider.kt | 50 ++++++++++--------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/gradle/execution/KotlinGradleAppEnvProvider.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/gradle/execution/KotlinGradleAppEnvProvider.kt index 49efe95c3af..87a14bfd183 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/gradle/execution/KotlinGradleAppEnvProvider.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/gradle/execution/KotlinGradleAppEnvProvider.kt @@ -170,33 +170,35 @@ class KotlinGradleAppEnvProvider : GradleExecutionEnvironmentProvider { allprojects { afterEvaluate { project -> - def overwrite = project.tasks.findByName(runAppTaskName) != null - project.tasks.create(name: runAppTaskName, overwrite: overwrite, type: JavaExec) { - if (javaExePath) executable = javaExePath - if (project.pluginManager.hasPlugin("org.jetbrains.kotlin.multiplatform")) { - project.kotlin.targets.each { target -> - target.compilations.each { compilation -> - if (compilation.defaultSourceSetName == sourceSetName) { - classpath = compilation.output.allOutputs + compilation.runtimeDependencyFiles + if (project.path == gradlePath) { + def overwrite = project.tasks.findByName(runAppTaskName) != null + project.tasks.create(name: runAppTaskName, overwrite: overwrite, type: JavaExec) { + if (javaExePath) executable = javaExePath + if (project.pluginManager.hasPlugin("org.jetbrains.kotlin.multiplatform")) { + project.kotlin.targets.each { target -> + target.compilations.each { compilation -> + if (compilation.defaultSourceSetName == sourceSetName) { + classpath = compilation.output.allOutputs + compilation.runtimeDependencyFiles + } } } + } else { + classpath = project.sourceSets[sourceSetName].runtimeClasspath } - } else { - classpath = project.sourceSets[sourceSetName].runtimeClasspath - } - - main = mainClass - $argsString - if(_workingDir) workingDir = _workingDir - standardInput = System.in - if(javaModuleName) { - inputs.property('moduleName', javaModuleName) - doFirst { - jvmArgs += [ - '--module-path', classpath.asPath, - '--module', javaModuleName + '/' + mainClass - ] - classpath = files() + + main = mainClass + $argsString + if(_workingDir) workingDir = _workingDir + standardInput = System.in + if(javaModuleName) { + inputs.property('moduleName', javaModuleName) + doFirst { + jvmArgs += [ + '--module-path', classpath.asPath, + '--module', javaModuleName + '/' + mainClass + ] + classpath = files() + } } } }