JPS Build: support building and running IDEA Ultimate

This commit is contained in:
Sergey Rostov
2019-03-28 15:40:10 +03:00
parent 283ad04f7c
commit 4df31b2360
+28 -4
View File
@@ -7,6 +7,10 @@ val ideaSandboxDir: File by extra
val ideaSdkPath: String val ideaSdkPath: String
get() = IntellijRootUtils.getIntellijRootDir(rootProject).absolutePath get() = IntellijRootUtils.getIntellijRootDir(rootProject).absolutePath
val intellijUltimateEnabled : Boolean by rootProject.extra
val ideaUltimatePluginDir: File by rootProject.extra
val ideaUltimateSandboxDir: File by rootProject.extra
fun org.jetbrains.gradle.ext.JUnit.configureForKotlin() { fun org.jetbrains.gradle.ext.JUnit.configureForKotlin() {
vmParameters = listOf( vmParameters = listOf(
"-ea", "-ea",
@@ -61,7 +65,12 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
} }
runConfigurations { runConfigurations {
application("[JPS] IDEA") { fun idea(
title: String,
sandboxDir: File,
pluginDir: File
) {
application(title) {
moduleName = "kotlin.idea-runner.main" moduleName = "kotlin.idea-runner.main"
workingDirectory = File(intellijRootDir(), "bin").toString() workingDirectory = File(intellijRootDir(), "bin").toString()
mainClass = "com.intellij.idea.Main" mainClass = "com.intellij.idea.Main"
@@ -72,14 +81,21 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
"-ea", "-ea",
"-Didea.is.internal=true", "-Didea.is.internal=true",
"-Didea.debug.mode=true", "-Didea.debug.mode=true",
"-Didea.system.path=${ideaSandboxDir.absolutePath}", "-Didea.system.path=${sandboxDir.absolutePath}",
"-Didea.config.path=${ideaSandboxDir.absolutePath}/config", "-Didea.config.path=${sandboxDir.absolutePath}/config",
"-Dapple.laf.useScreenMenuBar=true", "-Dapple.laf.useScreenMenuBar=true",
"-Dapple.awt.graphics.UseQuartz=true", "-Dapple.awt.graphics.UseQuartz=true",
"-Dsun.io.useCanonCaches=false", "-Dsun.io.useCanonCaches=false",
"-Dplugin.path=${ideaPluginDir.absolutePath}" "-Dplugin.path=${pluginDir.absolutePath}"
).joinToString(" ") ).joinToString(" ")
} }
}
idea("[JPS] IDEA", ideaSandboxDir, ideaPluginDir)
if (intellijUltimateEnabled) {
idea("[JPS] IDEA Ultimate", ideaUltimateSandboxDir, ideaPluginDir)
}
application("[JPS] Generate All Tests") { application("[JPS] Generate All Tests") {
moduleName = "kotlin.pill.generate-all-tests.test" moduleName = "kotlin.pill.generate-all-tests.test"
@@ -98,6 +114,14 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
configureForKotlin() configureForKotlin()
} }
if (intellijUltimateEnabled) {
junit("[JPS] All IDEA Ultimate Plugin Tests") {
moduleName = "kotlin.ultimate.test"
pattern = "org.jetbrains.kotlin.*"
configureForKotlin()
}
}
junit("[JPS] Compiler Tests") { junit("[JPS] Compiler Tests") {
moduleName = "kotlin.compiler.test" moduleName = "kotlin.compiler.test"
pattern = "org.jetbrains.kotlin.*" pattern = "org.jetbrains.kotlin.*"