From 589487951c1add033fd5a94cfcdc25ce5ae20ed3 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Fri, 13 Oct 2017 16:25:09 +0300 Subject: [PATCH] as31: Remove ultimate settings from AS branch --- ultimate/build.gradle.kts.as31 | 211 ++++++++++++++++++ .../ultimate-runner/build.gradle.kts.as31 | 32 +++ 2 files changed, 243 insertions(+) create mode 100644 ultimate/build.gradle.kts.as31 create mode 100644 ultimate/ultimate-runner/build.gradle.kts.as31 diff --git a/ultimate/build.gradle.kts.as31 b/ultimate/build.gradle.kts.as31 new file mode 100644 index 00000000000..122b76f48ac --- /dev/null +++ b/ultimate/build.gradle.kts.as31 @@ -0,0 +1,211 @@ +/* + + +import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar +import org.gradle.jvm.tasks.Jar + +description = "Kotlin IDEA Ultimate plugin" + +plugins { + kotlin("jvm") +} + +val ideaProjectResources = project(":idea").the().sourceSets["main"].output.resourcesDir + +evaluationDependsOn(":prepare:idea-plugin") + +val intellijUltimateEnabled : Boolean by rootProject.extra + +val springClasspath by configurations.creating + +dependencies { + if (intellijUltimateEnabled) { + testRuntime(intellijUltimateDep()) + } + + compileOnly(project(":kotlin-reflect-api")) + compile(projectDist(":kotlin-stdlib")) + compile(project(":core:descriptors")) { isTransitive = false } + compile(project(":compiler:psi")) { isTransitive = false } + compile(project(":core:descriptors.jvm")) { isTransitive = false } + compile(project(":core:util.runtime")) { isTransitive = false } + compile(project(":compiler:light-classes")) { isTransitive = false } + compile(project(":compiler:frontend")) { isTransitive = false } + compile(project(":compiler:frontend.java")) { isTransitive = false } + compile(project(":js:js.frontend")) { isTransitive = false } + compile(projectClasses(":idea")) + compile(project(":idea:idea-jvm")) { isTransitive = false } + compile(project(":idea:idea-core")) { isTransitive = false } + compile(project(":idea:ide-common")) { isTransitive = false } + compile(project(":idea:idea-gradle")) { isTransitive = false } + compileOnly(intellijCoreDep()) { includeJars("intellij-core") } + + if (intellijUltimateEnabled) { + compileOnly(intellijUltimatePluginDep("NodeJS")) + compileOnly(intellijUltimateDep()) { includeJars("annotations", "trove4j", "openapi", "idea", "util", "jdom") } + compileOnly(intellijUltimatePluginDep("CSS")) + compileOnly(intellijUltimatePluginDep("DatabaseTools")) + compileOnly(intellijUltimatePluginDep("JavaEE")) + compileOnly(intellijUltimatePluginDep("jsp")) + compileOnly(intellijUltimatePluginDep("PersistenceSupport")) + compileOnly(intellijUltimatePluginDep("Spring")) + compileOnly(intellijUltimatePluginDep("properties")) + compileOnly(intellijUltimatePluginDep("java-i18n")) + compileOnly(intellijUltimatePluginDep("gradle")) + compileOnly(intellijUltimatePluginDep("Groovy")) + compileOnly(intellijUltimatePluginDep("junit")) + compileOnly(intellijUltimatePluginDep("uml")) + compileOnly(intellijUltimatePluginDep("JavaScriptLanguage")) + compileOnly(intellijUltimatePluginDep("JavaScriptDebugger")) + } + + testCompile(projectDist(":kotlin-test:kotlin-test-jvm")) + testCompile(projectTests(":idea:idea-test-framework")) { isTransitive = false } + testCompile(project(":plugins:lint")) { isTransitive = false } + testCompile(project(":idea:idea-jvm")) { isTransitive = false } + testCompile(projectTests(":compiler:tests-common")) + testCompile(projectTests(":idea")) { isTransitive = false } + testCompile(projectTests(":generators:test-generator")) + testCompile(commonDep("junit:junit")) + if (intellijUltimateEnabled) { + testCompileOnly(intellijUltimateDep()) { includeJars("gson", "annotations", "trove4j", "openapi", "idea", "util", "jdom", rootProject = rootProject) } + } + testCompile(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false } + + testRuntime(projectDist(":kotlin-reflect")) + testRuntime(project(":kotlin-script-runtime")) + testRuntime(projectRuntimeJar(":kotlin-compiler")) + testRuntime(project(":plugins:android-extensions-ide")) { isTransitive = false } + testRuntime(project(":plugins:android-extensions-compiler")) { isTransitive = false } + testRuntime(project(":plugins:annotation-based-compiler-plugins-ide-support")) { isTransitive = false } + testRuntime(project(":idea:idea-android")) { isTransitive = false } + testRuntime(project(":idea:idea-maven")) { isTransitive = false } + testRuntime(project(":idea:idea-jps-common")) { isTransitive = false } + testRuntime(project(":idea:formatter")) { isTransitive = false } + testRuntime(project(":sam-with-receiver-ide-plugin")) { isTransitive = false } + testRuntime(project(":kotlin-sam-with-receiver-compiler-plugin")) { isTransitive = false } + testRuntime(project(":noarg-ide-plugin")) { isTransitive = false } + testRuntime(project(":kotlin-noarg-compiler-plugin")) { isTransitive = false } + testRuntime(project(":allopen-ide-plugin")) { isTransitive = false } + testRuntime(project(":kotlin-allopen-compiler-plugin")) { isTransitive = false } + testRuntime(project(":plugins:kapt3-idea")) { isTransitive = false } + testRuntime(project(":plugins:uast-kotlin")) + testRuntime(project(":plugins:uast-kotlin-idea")) + + if (intellijUltimateEnabled) { + testCompile(intellijUltimatePluginDep("CSS")) + testCompile(intellijUltimatePluginDep("DatabaseTools")) + testCompile(intellijUltimatePluginDep("JavaEE")) + testCompile(intellijUltimatePluginDep("jsp")) + testCompile(intellijUltimatePluginDep("PersistenceSupport")) + testCompile(intellijUltimatePluginDep("Spring")) + testCompile(intellijUltimatePluginDep("uml")) + testCompile(intellijUltimatePluginDep("JavaScriptLanguage")) + testCompile(intellijUltimatePluginDep("JavaScriptDebugger")) + testCompile(intellijUltimatePluginDep("NodeJS")) + testCompile(intellijUltimatePluginDep("properties")) + testCompile(intellijUltimatePluginDep("java-i18n")) + testCompile(intellijUltimatePluginDep("gradle")) + testCompile(intellijUltimatePluginDep("Groovy")) + testCompile(intellijUltimatePluginDep("junit")) + testRuntime(intellijUltimatePluginDep("coverage")) + testRuntime(intellijUltimatePluginDep("maven")) + testRuntime(intellijUltimatePluginDep("android")) + testRuntime(intellijUltimatePluginDep("testng")) + testRuntime(intellijUltimatePluginDep("IntelliLang")) + testRuntime(intellijUltimatePluginDep("copyright")) + testRuntime(intellijUltimatePluginDep("java-decompiler")) + } + + testRuntime(files("${System.getProperty("java.home")}/../lib/tools.jar")) + + springClasspath(commonDep("org.springframework", "spring-core")) + springClasspath(commonDep("org.springframework", "spring-beans")) + springClasspath(commonDep("org.springframework", "spring-context")) + springClasspath(commonDep("org.springframework", "spring-tx")) + springClasspath(commonDep("org.springframework", "spring-web")) +} + +val preparedResources = File(buildDir, "prepResources") + +sourceSets { + "main" { projectDefault() } + "test" { + projectDefault() + resources.srcDir(preparedResources) + } +} + +val ultimatePluginXmlContent: String by lazy { + val sectRex = Regex("""^\s*\s*$""") + File(projectDir, "resources/META-INF/ultimate-plugin.xml") + .readLines() + .filterNot { it.matches(sectRex) } + .joinToString("\n") +} + +val prepareResources by task { + dependsOn(":idea:assemble") + from(ideaProjectResources, { + exclude("META-INF/plugin.xml") + }) + into(preparedResources) +} + +val preparePluginXml by task { + dependsOn(":idea:assemble") + from(ideaProjectResources, { include("META-INF/plugin.xml") }) + into(preparedResources) + filter { + it?.replace("", ultimatePluginXmlContent) + } +} + +val communityPluginProject = ":prepare:idea-plugin" + +val jar = runtimeJar(task("shadowJar")) { + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + dependsOn(preparePluginXml) + dependsOn("$communityPluginProject:shadowJar") + val communityPluginJar = project(communityPluginProject).configurations["runtimeJar"].artifacts.files.singleFile + from(zipTree(communityPluginJar), { exclude("META-INF/plugin.xml") }) + from(preparedResources, { include("META-INF/plugin.xml") }) + from(the().sourceSets.getByName("main").output) + archiveName = "kotlin-plugin.jar" +} + +val ideaPluginDir: File by rootProject.extra +val ideaUltimatePluginDir: File by rootProject.extra + +task("ideaUltimatePlugin") { + dependsOn(":ideaPlugin") + into(ideaUltimatePluginDir) + from(ideaPluginDir) { exclude("lib/kotlin-plugin.jar") } + from(jar, { into("lib") }) +} + +task("idea-ultimate-plugin") { + dependsOn("ideaUltimatePlugin") + doFirst { logger.warn("'$name' task is deprecated, use '${dependsOn.last()}' instead") } +} + +task("ideaUltimatePluginTest") { + dependsOn("check") +} + +projectTest { + dependsOn(prepareResources) + dependsOn(preparePluginXml) + workingDir = rootDir + doFirst { + if (intellijUltimateEnabled) { + systemProperty("idea.home.path", intellijUltimateRootDir().canonicalPath) + } + systemProperty("spring.classpath", springClasspath.asPath) + } +} + +val generateTests by generator("org.jetbrains.kotlin.tests.GenerateUltimateTestsKt") + + +*/ \ No newline at end of file diff --git a/ultimate/ultimate-runner/build.gradle.kts.as31 b/ultimate/ultimate-runner/build.gradle.kts.as31 new file mode 100644 index 00000000000..2c0a74d4ec6 --- /dev/null +++ b/ultimate/ultimate-runner/build.gradle.kts.as31 @@ -0,0 +1,32 @@ + +/* + + +plugins { + kotlin("jvm") +} + +dependencies { + compileOnly(project(":idea")) + compileOnly(project(":idea:idea-maven")) + compileOnly(project(":idea:idea-gradle")) + compileOnly(project(":idea:idea-jvm")) + + compile(intellijDep()) + runtimeOnly(files(toolsJar())) +} + +val intellijUltimateEnabled : Boolean by rootProject.extra + +val ideaUltimatePluginDir: File by rootProject.extra +val ideaUltimateSandboxDir: File by rootProject.extra + +if (intellijUltimateEnabled) { + runIdeTask("runUltimate", ideaUltimatePluginDir, ideaUltimateSandboxDir) { + dependsOn(":dist", ":ideaPlugin", ":ultimate:ideaUltimatePlugin") + } +} + + + +*/ \ No newline at end of file