diff --git a/.idea/runConfigurations/gsk__runIde_.xml b/.idea/runConfigurations/gsk__runIde_.xml
new file mode 100644
index 00000000000..efe92e8b4a4
--- /dev/null
+++ b/.idea/runConfigurations/gsk__runIde_.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle.kts b/build.gradle.kts
index 0d894dccb56..c15b4f39f52 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -231,6 +231,7 @@ val compilerCopyTask = task("idea-plugin-copy-compiler") {
task("dist-plugin") {
dependsOn(compilerCopyTask)
dependsOnTaskIfExistsRec("idea-plugin")
+ shouldRunAfter(":prepare:kotlin-plugin:idea-plugin")
into("$ideaPluginDir/lib")
}
@@ -262,6 +263,8 @@ tasks {
"idea-plugin-tests" {
dependsOn("dist")
dependsOn(":idea:test",
+ ":idea:idea-gradle:test",
+ ":idea:idea-maven:test",
":j2k:test",
":eval4j:test")
}
diff --git a/buildSrc/src/main/kotlin/dependencies.kt b/buildSrc/src/main/kotlin/dependencies.kt
index d8c79d18035..98f2b0f8305 100644
--- a/buildSrc/src/main/kotlin/dependencies.kt
+++ b/buildSrc/src/main/kotlin/dependencies.kt
@@ -81,3 +81,11 @@ private fun String.toMaybeVersionedJarRegex(): Regex {
return Regex(if (hasJarExtension) escaped else "$escaped(-\\d.*)?\\.jar") // TODO: consider more precise version part of the regex
}
+
+private val jreHome = System.getProperty("java.home")
+
+fun firstFromJavaHomeThatExists(vararg paths: String): File =
+ paths.mapNotNull { File(jreHome, it).takeIf { it.exists() } }.firstOrNull()
+ ?: throw GradleException("Cannot find under '$jreHome' neither of: ${paths.joinToString()}")
+
+fun toolsJar(): File = firstFromJavaHomeThatExists("../lib/tools.jar", "../Classes/tools.jar")
diff --git a/generators/build.gradle.kts b/generators/build.gradle.kts
index 34cc6471828..34a2f3bcde3 100644
--- a/generators/build.gradle.kts
+++ b/generators/build.gradle.kts
@@ -21,6 +21,8 @@ dependencies {
compile(projectTests(":compiler:container"))
compile(projectTests(":compiler:incremental-compilation-impl"))
compile(projectTests(":idea"))
+ compile(projectTests(":idea:idea-gradle"))
+ compile(projectTests(":idea:idea-maven"))
compile(projectTests(":j2k"))
compile(projectTests(":idea:idea-android"))
compile(projectTests(":jps-plugin"))
diff --git a/gradle/project-schema.json b/gradle/project-schema.json
index cf3de118122..be8b84c9662 100644
--- a/gradle/project-schema.json
+++ b/gradle/project-schema.json
@@ -339,6 +339,41 @@
"reporting": "org.gradle.api.reporting.ReportingExtension"
}
},
+ ":idea-runner": {
+ "conventions": {
+ "base": "org.gradle.api.plugins.BasePluginConvention",
+ "java": "org.gradle.api.plugins.JavaPluginConvention"
+ },
+ "configurations": [
+ "apiElements",
+ "archives",
+ "compile",
+ "compileClasspath",
+ "compileOnly",
+ "default",
+ "implementation",
+ "kapt",
+ "kaptTest",
+ "runtime",
+ "runtimeClasspath",
+ "runtimeElements",
+ "runtimeOnly",
+ "testCompile",
+ "testCompileClasspath",
+ "testCompileOnly",
+ "testImplementation",
+ "testRuntime",
+ "testRuntimeClasspath",
+ "testRuntimeOnly"
+ ],
+ "extensions": {
+ "ext": "org.gradle.api.plugins.ExtraPropertiesExtension",
+ "kotlin": "org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension",
+ "kapt": "org.jetbrains.kotlin.gradle.plugin.KaptExtension",
+ "defaultArtifacts": "org.gradle.api.internal.plugins.DefaultArtifactPublicationSet",
+ "reporting": "org.gradle.api.reporting.ReportingExtension"
+ }
+ },
":j2k": {
"conventions": {
"base": "org.gradle.api.plugins.BasePluginConvention",
@@ -2854,6 +2889,41 @@
"reporting": "org.gradle.api.reporting.ReportingExtension"
}
},
+ ":idea:idea-gradle": {
+ "conventions": {
+ "base": "org.gradle.api.plugins.BasePluginConvention",
+ "java": "org.gradle.api.plugins.JavaPluginConvention"
+ },
+ "configurations": [
+ "apiElements",
+ "archives",
+ "compile",
+ "compileClasspath",
+ "compileOnly",
+ "default",
+ "implementation",
+ "kapt",
+ "kaptTest",
+ "runtime",
+ "runtimeClasspath",
+ "runtimeElements",
+ "runtimeOnly",
+ "testCompile",
+ "testCompileClasspath",
+ "testCompileOnly",
+ "testImplementation",
+ "testRuntime",
+ "testRuntimeClasspath",
+ "testRuntimeOnly"
+ ],
+ "extensions": {
+ "ext": "org.gradle.api.plugins.ExtraPropertiesExtension",
+ "kotlin": "org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension",
+ "kapt": "org.jetbrains.kotlin.gradle.plugin.KaptExtension",
+ "defaultArtifacts": "org.gradle.api.internal.plugins.DefaultArtifactPublicationSet",
+ "reporting": "org.gradle.api.reporting.ReportingExtension"
+ }
+ },
":idea:idea-jps-common": {
"conventions": {
"base": "org.gradle.api.plugins.BasePluginConvention",
@@ -2889,6 +2959,76 @@
"reporting": "org.gradle.api.reporting.ReportingExtension"
}
},
+ ":idea:idea-jvm": {
+ "conventions": {
+ "base": "org.gradle.api.plugins.BasePluginConvention",
+ "java": "org.gradle.api.plugins.JavaPluginConvention"
+ },
+ "configurations": [
+ "apiElements",
+ "archives",
+ "compile",
+ "compileClasspath",
+ "compileOnly",
+ "default",
+ "implementation",
+ "kapt",
+ "kaptTest",
+ "runtime",
+ "runtimeClasspath",
+ "runtimeElements",
+ "runtimeOnly",
+ "testCompile",
+ "testCompileClasspath",
+ "testCompileOnly",
+ "testImplementation",
+ "testRuntime",
+ "testRuntimeClasspath",
+ "testRuntimeOnly"
+ ],
+ "extensions": {
+ "ext": "org.gradle.api.plugins.ExtraPropertiesExtension",
+ "kotlin": "org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension",
+ "kapt": "org.jetbrains.kotlin.gradle.plugin.KaptExtension",
+ "defaultArtifacts": "org.gradle.api.internal.plugins.DefaultArtifactPublicationSet",
+ "reporting": "org.gradle.api.reporting.ReportingExtension"
+ }
+ },
+ ":idea:idea-maven": {
+ "conventions": {
+ "base": "org.gradle.api.plugins.BasePluginConvention",
+ "java": "org.gradle.api.plugins.JavaPluginConvention"
+ },
+ "configurations": [
+ "apiElements",
+ "archives",
+ "compile",
+ "compileClasspath",
+ "compileOnly",
+ "default",
+ "implementation",
+ "kapt",
+ "kaptTest",
+ "runtime",
+ "runtimeClasspath",
+ "runtimeElements",
+ "runtimeOnly",
+ "testCompile",
+ "testCompileClasspath",
+ "testCompileOnly",
+ "testImplementation",
+ "testRuntime",
+ "testRuntimeClasspath",
+ "testRuntimeOnly"
+ ],
+ "extensions": {
+ "ext": "org.gradle.api.plugins.ExtraPropertiesExtension",
+ "kotlin": "org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension",
+ "kapt": "org.jetbrains.kotlin.gradle.plugin.KaptExtension",
+ "defaultArtifacts": "org.gradle.api.internal.plugins.DefaultArtifactPublicationSet",
+ "reporting": "org.gradle.api.reporting.ReportingExtension"
+ }
+ },
":idea:idea-test-framework": {
"conventions": {
"base": "org.gradle.api.plugins.BasePluginConvention",
diff --git a/idea-runner/build.gradle.kts b/idea-runner/build.gradle.kts
new file mode 100644
index 00000000000..70278bf02bd
--- /dev/null
+++ b/idea-runner/build.gradle.kts
@@ -0,0 +1,45 @@
+apply { plugin("kotlin") }
+
+dependencies {
+
+ compile(ideaSdkDeps("*.jar"))
+ compileOnly(project(":idea"))
+ compileOnly(project(":idea:idea-maven"))
+ compileOnly(project(":idea:idea-gradle"))
+ compileOnly(project(":idea:idea-jvm"))
+
+ runtimeOnly(files(toolsJar()))
+}
+
+
+
+
+val runIde by task {
+ dependsOn(":dist", ":prepare:kotlin-plugin:idea-plugin", ":dist-plugin")
+
+ classpath = the().sourceSets["main"].runtimeClasspath
+
+ main = "com.intellij.idea.Main"
+
+ workingDir = File(rootDir, "ideaSDK", "bin")
+
+ val pluginPath = File(rootDir, "dist", "artifacts", "Kotlin")
+
+ jvmArgs(
+ "-Xmx1250m",
+ "-XX:ReservedCodeCacheSize=240m",
+ "-XX:+HeapDumpOnOutOfMemoryError",
+ "-ea",
+ "-Didea.is.internal=true",
+ "-Didea.debug.mode=true",
+ "-Didea.system.path=../system-idea",
+ "-Didea.config.path=../config-idea",
+ "-Dapple.laf.useScreenMenuBar=true",
+ "-Dapple.awt.graphics.UseQuartz=true",
+ "-Dsun.io.useCanonCaches=false",
+ "-Dplugin.path=${pluginPath.absolutePath}",
+ "-Dkotlin.internal.mode.enabled=true",
+ "-Didea.additional.classpath=../idea-kotlin-runtime/kotlin-runtime.jar,../idea-kotlin-runtime/kotlin-reflect.jar"
+ )
+ args()
+}
\ No newline at end of file
diff --git a/idea/build.gradle.kts b/idea/build.gradle.kts
index adaee811e0a..43242a0a57c 100644
--- a/idea/build.gradle.kts
+++ b/idea/build.gradle.kts
@@ -1,4 +1,6 @@
+import org.gradle.jvm.tasks.Jar
+
apply { plugin("kotlin") }
dependencies {
@@ -30,18 +32,10 @@ dependencies {
compileOnly(ideaSdkDeps("openapi", "idea", "velocity", "boot", "gson", "swingx-core", "jsr305", "forms_rt"))
- compile(ideaPluginDeps("idea-junit", plugin = "junit"))
compile(ideaPluginDeps("IntelliLang", plugin = "IntelliLang"))
- compile(ideaPluginDeps("testng", "testng-plugin", plugin = "testng"))
compile(ideaPluginDeps("copyright", plugin = "copyright"))
compile(ideaPluginDeps("properties", plugin = "properties"))
compile(ideaPluginDeps("java-i18n", plugin = "java-i18n"))
- compile(ideaPluginDeps("coverage", plugin = "coverage"))
- compile(ideaPluginDeps("java-decompiler", plugin = "java-decompiler"))
-
- compileOnly(ideaPluginDeps("gradle-tooling-api", "gradle", plugin = "gradle"))
- compileOnly(ideaPluginDeps("Groovy", plugin = "Groovy"))
- compileOnly(ideaPluginDeps("maven", "maven-server-api", plugin = "maven"))
compile(preloadedDeps("markdown", "kotlinx-coroutines-core"))
@@ -49,6 +43,9 @@ dependencies {
testCompile(project(":compiler:cli"))
testCompile(project(":compiler.tests-common"))
testCompile(project(":idea:idea-test-framework")) { isTransitive = false }
+ testCompile(project(":idea:idea-jvm")) { isTransitive = false }
+ testCompile(project(":idea:idea-gradle")) { isTransitive = false }
+ testCompile(project(":idea:idea-maven")) { isTransitive = false }
testCompile(commonDep("junit:junit"))
testCompileOnly(ideaPluginDeps("gradle-base-services", "gradle-tooling-extension-impl", "gradle-wrapper", plugin = "gradle"))
@@ -59,7 +56,7 @@ dependencies {
testRuntime(ideaSdkDeps("*.jar"))
- testRuntime(ideaPluginDeps("resources_en", plugin = "junit"))
+ testRuntime(ideaPluginDeps("*.jar", plugin = "junit"))
testRuntime(ideaPluginDeps("jcommander", "resources_en", plugin = "testng"))
testRuntime(ideaPluginDeps("resources_en", plugin = "properties"))
testRuntime(ideaPluginDeps("*.jar", plugin = "gradle"))
@@ -90,16 +87,13 @@ dependencies {
sourceSets {
"main" {
projectDefault()
- java.srcDirs("idea-maven/src",
- "idea-gradle/src",
- "idea-completion/src",
+ java.srcDirs("idea-completion/src",
"idea-live-templates/src",
"idea-repl/src")
- resources.srcDir("idea-maven/resources")
}
"test" {
projectDefault()
- java.srcDirs("idea-maven/test",
+ java.srcDirs(
"idea-completion/tests",
"idea-live-templates/tests")
}
diff --git a/idea/idea-android/build.gradle.kts b/idea/idea-android/build.gradle.kts
index 144e69e98d1..f2a2de2a221 100644
--- a/idea/idea-android/build.gradle.kts
+++ b/idea/idea-android/build.gradle.kts
@@ -10,6 +10,8 @@ dependencies {
compile(project(":idea"))
compile(project(":idea:idea-core"))
compile(project(":idea:ide-common"))
+ compile(project(":idea:idea-gradle"))
+
compile(ideaSdkDeps("openapi", "idea"))
compile(ideaPluginDeps("gradle-tooling-api", plugin = "gradle"))
compile(ideaPluginDeps("android", "android-common", "sdklib", "sdk-common", "layoutlib-api", plugin = "android"))
@@ -20,6 +22,7 @@ dependencies {
testCompile(project(":idea:idea-test-framework")) { isTransitive = false }
testCompile(project(":plugins:lint")) { isTransitive = false }
testCompile(projectTests(":idea"))
+ testCompile(projectTests(":idea:idea-gradle"))
testCompile(ideaPluginDeps("properties", plugin = "properties"))
testCompile(ideaSdkDeps("gson"))
testCompile(commonDep("junit:junit"))
diff --git a/idea/idea-gradle/build.gradle.kts b/idea/idea-gradle/build.gradle.kts
new file mode 100644
index 00000000000..13b539a71dd
--- /dev/null
+++ b/idea/idea-gradle/build.gradle.kts
@@ -0,0 +1,35 @@
+apply { plugin("kotlin") }
+
+dependencies {
+
+ compileOnly(ideaSdkDeps("openapi", "idea"))
+ compileOnly(ideaPluginDeps("gradle-tooling-api", "gradle", plugin = "gradle"))
+ compileOnly(ideaPluginDeps("Groovy", plugin = "Groovy"))
+
+ compileOnly(project(":idea"))
+ compileOnly(project(":idea:idea-jvm"))
+ compile(project(":idea:kotlin-gradle-tooling"))
+
+ compile(project(":compiler:frontend"))
+ compile(project(":compiler:frontend.java"))
+ compile(project(":compiler:frontend.script"))
+
+ compile(project(":js:js.frontend"))
+
+ testCompile(projectTests(":idea"))
+ testCompile(project(":idea:idea-test-framework"))
+ testCompile(ideaSdkDeps("openapi", "idea", "groovy-all"))
+ testCompile(ideaPluginDeps("gradle-wrapper", "gradle-base-services", "gradle-tooling-extension-impl", "gradle-tooling-api", "gradle", plugin = "gradle"))
+ testCompile(ideaPluginDeps("Groovy", plugin = "Groovy"))
+}
+
+sourceSets {
+ "main" { projectDefault() }
+ "test" { projectDefault() }
+}
+
+testsJar()
+
+projectTest {
+ workingDir = rootDir
+}
\ No newline at end of file
diff --git a/idea/idea-jvm/build.gradle.kts b/idea/idea-jvm/build.gradle.kts
new file mode 100644
index 00000000000..b19702d9366
--- /dev/null
+++ b/idea/idea-jvm/build.gradle.kts
@@ -0,0 +1,22 @@
+
+apply { plugin("kotlin") }
+
+dependencies {
+ compile(project(":idea"))
+ compile(project(":compiler:light-classes"))
+ compile(project(":compiler:frontend.java"))
+
+ compileOnly(ideaSdkDeps("openapi", "idea"))
+
+ compile(ideaPluginDeps("idea-junit", plugin = "junit"))
+ compile(ideaPluginDeps("testng", "testng-plugin", plugin = "testng"))
+
+ compile(ideaPluginDeps("coverage", plugin = "coverage"))
+
+ compile(ideaPluginDeps("java-decompiler", plugin = "java-decompiler"))
+}
+
+sourceSets {
+ "main" { projectDefault() }
+ "test" { none() }
+}
diff --git a/idea/idea-maven/build.gradle.kts b/idea/idea-maven/build.gradle.kts
new file mode 100644
index 00000000000..54dd95b7b24
--- /dev/null
+++ b/idea/idea-maven/build.gradle.kts
@@ -0,0 +1,46 @@
+
+apply { plugin("kotlin") }
+
+dependencies {
+ compileOnly(ideaSdkDeps("openapi", "idea", "gson"))
+ compileOnly(ideaPluginDeps("maven", "maven-server-api", plugin = "maven"))
+
+ compile(project(":core:util.runtime"))
+ compile(project(":compiler:frontend"))
+ compile(project(":compiler:frontend.java"))
+ compile(project(":compiler:util"))
+ compile(project(":compiler:cli-common"))
+ compile(project(":kotlin-build-common"))
+
+ compile(project(":js:js.frontend"))
+
+ compile(project(":idea"))
+ compile(project(":idea:idea-jps-common"))
+
+ testCompile(projectTests(":idea"))
+ testCompile(project(":compiler.tests-common"))
+ testCompile(project(":idea:idea-test-framework"))
+ testCompileOnly(ideaSdkDeps("openapi", "idea", "gson"))
+ testCompileOnly(ideaPluginDeps("maven", "maven-server-api", plugin = "maven"))
+
+ testRuntime(ideaSdkDeps("*.jar"))
+ testRuntime(ideaPluginDeps("resources_en", plugin = "junit"))
+ testRuntime(ideaPluginDeps("jcommander", "resources_en", plugin = "testng"))
+ testRuntime(ideaPluginDeps("resources_en", plugin = "properties"))
+ testRuntime(ideaPluginDeps("*.jar", plugin = "gradle"))
+ testRuntime(ideaPluginDeps("*.jar", plugin = "Groovy"))
+ testRuntime(ideaPluginDeps("jacocoant", plugin = "coverage"))
+ testRuntime(ideaPluginDeps("*.jar", plugin = "maven"))
+ testRuntime(ideaPluginDeps("*.jar", plugin = "android"))
+}
+
+sourceSets {
+ "main" { projectDefault() }
+ "test" { projectDefault() }
+}
+
+testsJar()
+
+projectTest {
+ workingDir = rootDir
+}
diff --git a/j2k/build.gradle.kts b/j2k/build.gradle.kts
index c84dda6dd95..b2d9cecea80 100644
--- a/j2k/build.gradle.kts
+++ b/j2k/build.gradle.kts
@@ -59,10 +59,13 @@ val testForWebDemo by task {
classpath = the().sourceSets["test"].runtimeClasspath
workingDir = rootDir
}
+val cleanTestForWebDemo by tasks
val test: Test by tasks
test.apply {
exclude("**/*JavaToKotlinConverterForWebDemoTestGenerated*")
dependsOn(testForWebDemo)
}
+val cleanTest by tasks
+cleanTest.dependsOn(cleanTestForWebDemo)
diff --git a/plugins/android-extensions/android-extensions-idea/build.gradle.kts b/plugins/android-extensions/android-extensions-idea/build.gradle.kts
index 70ca5581097..f5d5e93bab2 100644
--- a/plugins/android-extensions/android-extensions-idea/build.gradle.kts
+++ b/plugins/android-extensions/android-extensions-idea/build.gradle.kts
@@ -8,6 +8,7 @@ dependencies {
compile(project(":compiler:light-classes"))
compile(project(":idea:idea-core"))
compile(project(":idea"))
+ compile(project(":idea:idea-gradle"))
compile(project(":android-extensions-compiler"))
compile(ideaPluginDeps("android", "sdk-tools", "sdk-common", plugin = "android"))
compile(ideaPluginDeps("Groovy", plugin = "Groovy"))
diff --git a/plugins/annotation-based-compiler-plugins-ide-support/build.gradle.kts b/plugins/annotation-based-compiler-plugins-ide-support/build.gradle.kts
index 450c1de7c5f..f9919e015aa 100644
--- a/plugins/annotation-based-compiler-plugins-ide-support/build.gradle.kts
+++ b/plugins/annotation-based-compiler-plugins-ide-support/build.gradle.kts
@@ -7,6 +7,8 @@ dependencies {
compile(project(":compiler:cli-common"))
compile(project(":idea"))
compile(project(":idea:idea-jps-common"))
+ compile(project(":idea:idea-gradle"))
+ compile(project(":idea:idea-maven"))
compileOnly(ideaPluginDeps("maven", "maven-server-api", plugin = "maven"))
compileOnly(ideaPluginDeps("gradle-tooling-api", "gradle", plugin = "gradle"))
compileOnly(ideaSdkDeps("openapi", "idea"))
diff --git a/prepare/compiler/build.gradle.kts b/prepare/compiler/build.gradle.kts
index 55cd8514d8e..1a554ff0b72 100644
--- a/prepare/compiler/build.gradle.kts
+++ b/prepare/compiler/build.gradle.kts
@@ -37,7 +37,7 @@ val compilerBaseName = name
val outputJar = File(buildDir, "libs", "$compilerBaseName.jar")
-val jreHome = System.getProperty("java.home")
+
val compilerModules: Array by rootProject.extra
@@ -56,10 +56,6 @@ val packagesToRelocate =
val ideaCoreSdkJars: Array by rootProject.extra
val coreSdkJarsSimple = ideaCoreSdkJars.filterNot { it == "jdom" || it == "log4j" }.toTypedArray()
-fun firstFromJavaHomeThatExists(vararg paths: String): File =
- paths.mapNotNull { File(jreHome, it).takeIf { it.exists() } }.firstOrNull()
- ?: throw GradleException("Cannot find under '$jreHome' neither of: ${paths.joinToString()}")
-
compilerModules.forEach { evaluationDependsOn(it) }
val compiledModulesSources = compilerModules.map {
@@ -87,7 +83,7 @@ dependencies {
proguardLibraryJars(files(firstFromJavaHomeThatExists("lib/rt.jar", "../Classes/classes.jar"),
firstFromJavaHomeThatExists("lib/jsse.jar", "../Classes/jsse.jar"),
- firstFromJavaHomeThatExists("../lib/tools.jar", "../Classes/tools.jar")))
+ toolsJar()))
proguardLibraryJars(projectDist(":kotlin-stdlib"))
proguardLibraryJars(projectDist(":kotlin-script-runtime"))
proguardLibraryJars(projectDist(":kotlin-reflect"))
diff --git a/prepare/kotlin-plugin/build.gradle.kts b/prepare/kotlin-plugin/build.gradle.kts
index f2215c6d920..064038f5b39 100644
--- a/prepare/kotlin-plugin/build.gradle.kts
+++ b/prepare/kotlin-plugin/build.gradle.kts
@@ -37,7 +37,10 @@ val projectsToShadow = listOf(
":idea:idea-android",
":idea:idea-android-output-parser",
":idea:idea-core",
+ ":idea:idea-jvm",
":idea:idea-jps-common",
+ ":idea:idea-gradle",
+ ":idea:idea-maven",
//":idea-ultimate",
":compiler:ir.psi2ir",
":compiler:ir.tree",
@@ -79,6 +82,7 @@ val jar = runtimeJar(task("shadowJar")) {
}
ideaPlugin {
+ shouldRunAfter(":dist")
from(jar)
from(sideJars)
}
diff --git a/settings.gradle b/settings.gradle
index 4124343cc47..64df58d93e1 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -52,6 +52,9 @@ include ":kotlin-build-common",
":core:builtins",
":core:util.runtime",
":custom-dependencies:protobuf-lite",
+ ":idea:idea-jvm",
+ ":idea:idea-maven",
+ ":idea:idea-gradle",
":idea:idea-jps-common",
":idea:formatter",
":idea:ide-common",
@@ -61,6 +64,7 @@ include ":kotlin-build-common",
":idea:idea-android-output-parser",
":idea:idea-test-framework",
":idea",
+ ":idea-runner",
":eval4j",
":j2k",
":plugins:lint",