From bcd31de84a49e77a9e0180c0b72d8888c087793f Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Thu, 7 Sep 2017 17:39:30 +0300 Subject: [PATCH] Implement ultimate-runner --- gradle/project-schema.json | 35 ++++++++++++++++++ settings.gradle | 1 + ultimate/ultimate-runner/build.gradle.kts | 44 +++++++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 ultimate/ultimate-runner/build.gradle.kts diff --git a/gradle/project-schema.json b/gradle/project-schema.json index 25e0989688c..ff00d4eefb4 100644 --- a/gradle/project-schema.json +++ b/gradle/project-schema.json @@ -4126,5 +4126,40 @@ "defaultArtifacts": "org.gradle.api.internal.plugins.DefaultArtifactPublicationSet", "reporting": "org.gradle.api.reporting.ReportingExtension" } + }, + ":ultimate:ultimate-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" + } } } \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index e166e40a3ac..427bee6dcd2 100644 --- a/settings.gradle +++ b/settings.gradle @@ -127,6 +127,7 @@ include ":kotlin-build-common", ":examples:kotlin-jsr223-local-example", ":examples:kotlin-jsr223-daemon-local-eval-example", ":ultimate", + ":ultimate:ultimate-runner", // plugin markers: ':kotlin-gradle-plugin:plugin-marker', diff --git a/ultimate/ultimate-runner/build.gradle.kts b/ultimate/ultimate-runner/build.gradle.kts new file mode 100644 index 00000000000..9f4bee8e57e --- /dev/null +++ b/ultimate/ultimate-runner/build.gradle.kts @@ -0,0 +1,44 @@ +apply { plugin("kotlin") } + +dependencies { + + compile(ideaUltimateSdkDeps("*.jar")) + compileOnly(project(":idea")) + compileOnly(project(":idea:idea-maven")) + compileOnly(project(":idea:idea-gradle")) + compileOnly(project(":idea:idea-jvm")) + + runtimeOnly(files(toolsJar())) +} + + +val runUltimate by task { + dependsOn(":dist", ":prepare:kotlin-plugin:idea-plugin", ":dist-plugin", ":ultimate:idea-ultimate-plugin") + + classpath = the().sourceSets["main"].runtimeClasspath + + main = "com.intellij.idea.Main" + + workingDir = File(projectDir.parentFile, "ideaSDK", "bin") + + val ideaUltimatePluginDir: File by rootProject.extra + + 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=${ideaUltimatePluginDir.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