diff --git a/build.gradle.kts b/build.gradle.kts index 41e8ca68995..b346e480abb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -115,9 +115,6 @@ extra["versions.javaslang"] = "2.0.6" extra["versions.ant"] = "1.8.2" extra["versions.android"] = "2.3.1" -extra["ideaCoreSdkJars"] = arrayOf("annotations", "asm-all", "guava", "intellij-core", "jdom", "jna", "log4j", "picocontainer", - "snappy-in-java", "streamex", "trove4j", "xpp3-1.1.4-min", "xstream") - // the former "ideaSdk/core" dir contents without intellij-core.jar extra["ideaSdkIntellijCoreDependencies"] = listOf("annotations.jar", diff --git a/eval4j/build.gradle.kts b/eval4j/build.gradle.kts index b78ea14fc42..62fa6e1d2f3 100644 --- a/eval4j/build.gradle.kts +++ b/eval4j/build.gradle.kts @@ -1,16 +1,23 @@ apply { plugin("kotlin") } +configureIntellijPlugin() + dependencies { compile(projectDist(":kotlin-stdlib")) compile(project(":compiler:backend")) - compile(ideaSdkDeps("asm-all")) // compile(files(PathUtil.getJdkClassesRootsFromCurrentJre())) // TODO: make this one work instead of the nex one, since it contains more universal logic compile(files("${System.getProperty("java.home")}/../lib/tools.jar")) testCompile(projectDist(":kotlin-test:kotlin-test-junit")) testCompile(commonDep("junit:junit")) } +afterEvaluate { + dependencies { + compile(intellij { include("asm-all.jar") }) + } +} + sourceSets { "main" { projectDefault() } "test" { projectDefault() } diff --git a/idea/build.gradle.kts b/idea/build.gradle.kts index 0a5de40d3ae..feb7d086f6d 100644 --- a/idea/build.gradle.kts +++ b/idea/build.gradle.kts @@ -2,6 +2,12 @@ import org.gradle.jvm.tasks.Jar apply { plugin("kotlin") } +configureIntellijPlugin { + setPlugins("android", "copyright", "coverage", "gradle", "Groovy", "IntelliLang", + "java-i18n", "junit", "maven", "properties", "testng") + setExtraDependencies("intellij-core") +} + dependencies { compile(project(":kotlin-stdlib")) compileOnly(project(":kotlin-reflect-api")) @@ -27,18 +33,8 @@ dependencies { compile(project(":idea:kotlin-gradle-tooling")) compile(project(":plugins:uast-kotlin")) compile(project(":plugins:uast-kotlin-idea")) -// compile(project(":kotlin-daemon-client")) { isTransitive = false } compile(project(":kotlin-script-util")) { isTransitive = false } - compile(ideaSdkCoreDeps("intellij-core", "util", "annotations")) - - compileOnly(ideaSdkDeps("openapi", "idea", "velocity", "boot", "gson", "swingx-core", "jsr305", "forms_rt")) - - compile(ideaPluginDeps("IntelliLang", plugin = "IntelliLang")) - compile(ideaPluginDeps("copyright", plugin = "copyright")) - compile(ideaPluginDeps("properties", plugin = "properties")) - compile(ideaPluginDeps("java-i18n", plugin = "java-i18n")) - compile(preloadedDeps("markdown", "kotlinx-coroutines-core")) testCompile(project(":kotlin-test:kotlin-test-junit")) @@ -89,6 +85,24 @@ dependencies { } } +afterEvaluate { + dependencies { + compile(intellijCoreJar()) + compile(intellij { include("util.jar") }) + compileOnly(intellij { + include("openapi.jar", "idea.jar", "velocity.jar", "boot.jar", "gson-*.jar", + "swingx-core-*.jar", "jsr305.jar", "forms_rt.jar", "util.jar", "annotations.jar") + }) + compile(intellijPlugins("IntelliLang", "copyright", "properties", "java-i18n")) + testCompileOnly(intellij { include("groovy-all-*.jar", "velocity.jar", "gson-*.jar", "jsr305.jar", "idea_rt.jar") }) + testCompileOnly(intellijPlugin("gradle") { include("gradle-base-services-*.jar", "gradle-tooling-extension-impl.jar", "gradle-wrapper-*.jar") }) + testCompileOnly(intellijPlugin("Groovy") { include("Groovy.jar") }) + testCompileOnly(intellijPlugin("maven") { include("maven.jar", "maven-server-api.jar") }) + testRuntime(intellij()) + testRuntime(intellijPlugins("junit", "gradle", "Groovy", "coverage", "maven", "android", "testng")) + } +} + val processResources: Copy by tasks processResources.from("../compiler/cli/src") { include("META-INF/extensions/compiler.xml") diff --git a/idea/formatter/build.gradle.kts b/idea/formatter/build.gradle.kts index 00b1ab499a2..4ab1acfcc05 100644 --- a/idea/formatter/build.gradle.kts +++ b/idea/formatter/build.gradle.kts @@ -1,10 +1,17 @@ apply { plugin("kotlin") } +configureIntellijPlugin() + dependencies { compile(project(":compiler:util")) compile(project(":compiler:frontend")) - compile(ideaSdkDeps("openapi")) +} + +afterEvaluate { + dependencies { + compile(intellij { include("openapi.jar") }) + } } sourceSets { diff --git a/idea/ide-common/build.gradle.kts b/idea/ide-common/build.gradle.kts index baebf7fb4e1..3d3b19c6f0f 100644 --- a/idea/ide-common/build.gradle.kts +++ b/idea/ide-common/build.gradle.kts @@ -1,13 +1,23 @@ apply { plugin("kotlin") } +configureIntellijPlugin { + setExtraDependencies("intellij-core") +} + dependencies { compile(project(":compiler:util")) compile(project(":compiler:frontend")) compile(project(":compiler:frontend.java")) compile(project(":js:js.frontend")) compile(project(":js:js.serializer")) - compile(ideaSdkCoreDeps("annotations", "guava", "intellij-core")) +} + +afterEvaluate { + dependencies { + compile(intellijCoreJar()) + compile(intellij { include("annotations.jar", "guava-*.jar") }) + } } sourceSets { diff --git a/idea/idea-android/build.gradle.kts b/idea/idea-android/build.gradle.kts index 32bb75487cb..48b3d93b03c 100644 --- a/idea/idea-android/build.gradle.kts +++ b/idea/idea-android/build.gradle.kts @@ -1,6 +1,11 @@ apply { plugin("kotlin") } +configureIntellijPlugin { + setPlugins("android", "copyright", "coverage", "gradle", "Groovy", "IntelliLang", + "java-decompiler", "java-i18n", "junit", "maven", "properties", "testng") +} + dependencies { compileOnly(project(":kotlin-reflect-api")) compile(project(":compiler:util")) @@ -13,9 +18,6 @@ dependencies { 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", "sdk-tools", "layoutlib-api", plugin = "android")) compile(preloadedDeps("dx", subdir = "android-5.0/lib")) testCompile(projectDist(":kotlin-test:kotlin-test-jvm")) @@ -25,8 +27,6 @@ dependencies { testCompile(projectTests(":compiler:tests-common")) testCompile(projectTests(":idea")) testCompile(projectTests(":idea:idea-gradle")) - testCompile(ideaPluginDeps("properties", plugin = "properties")) - testCompile(ideaSdkDeps("gson")) testCompile(commonDep("junit:junit")) testRuntime(projectDist(":kotlin-reflect")) @@ -35,19 +35,20 @@ dependencies { testRuntime(project(":sam-with-receiver-ide-plugin")) testRuntime(project(":noarg-ide-plugin")) testRuntime(project(":allopen-ide-plugin")) - testRuntime(ideaSdkDeps("*.jar")) - testRuntime(ideaPluginDeps("idea-junit", "resources_en", plugin = "junit")) - testRuntime(ideaPluginDeps("IntelliLang", plugin = "IntelliLang")) - testRuntime(ideaPluginDeps("jcommander", "testng", "testng-plugin", "resources_en", plugin = "testng")) - testRuntime(ideaPluginDeps("copyright", plugin = "copyright")) - testRuntime(ideaPluginDeps("properties", "resources_en", plugin = "properties")) - testRuntime(ideaPluginDeps("java-i18n", plugin = "java-i18n")) - testRuntime(ideaPluginDeps("*.jar", plugin = "gradle")) - testRuntime(ideaPluginDeps("*.jar", plugin = "Groovy")) - testRuntime(ideaPluginDeps("coverage", "jacocoant", plugin = "coverage")) - testRuntime(ideaPluginDeps("java-decompiler", plugin = "java-decompiler")) - testRuntime(ideaPluginDeps("*.jar", plugin = "maven")) - testRuntime(ideaPluginDeps("*.jar", plugin = "android")) +} + +afterEvaluate { + dependencies { + compile(intellij { include("openapi.jar", "idea.jar") }) + compile(intellijPlugin("android") { + include("android.jar", "android-common.jar", "sdk-common.jar", "sdklib.jar", "sdk-tools.jar", "layoutlib-api.jar") + }) + testCompile(intellij { include("gson-*.jar") }) + testCompile(intellijPlugin("properties")) + testRuntime(intellij()) + testRuntime(intellijPlugins("android", "copyright", "coverage", "gradle", "Groovy", "IntelliLang", + "java-decompiler", "java-i18n", "junit", "maven", "testng")) + } } sourceSets { diff --git a/idea/idea-android/idea-android-output-parser/build.gradle.kts b/idea/idea-android/idea-android-output-parser/build.gradle.kts index 1fade40a837..06a6947c56e 100644 --- a/idea/idea-android/idea-android-output-parser/build.gradle.kts +++ b/idea/idea-android/idea-android-output-parser/build.gradle.kts @@ -1,11 +1,21 @@ apply { plugin("kotlin") } +configureIntellijPlugin { + setExtraDependencies("intellij-core") + setPlugins("gradle", "android") +} + dependencies { compile(project(":compiler:util")) - compile(ideaSdkCoreDeps("intellij-core")) - compile(ideaPluginDeps("gradle-tooling-api", plugin = "gradle")) - compile(ideaPluginDeps("android", "android-common", "sdk-common", plugin = "android")) +} + +afterEvaluate { + dependencies { + compile(intellijCoreJar()) + compile(intellijPlugin("gradle") { include("gradle-tooling-api.jar") }) + compile(intellijPlugin("android") { include("android.jar", "android-common.jar", "sdk-common.jar") }) + } } sourceSets { diff --git a/idea/idea-core/build.gradle.kts b/idea/idea-core/build.gradle.kts index 7198d1256f0..631a36454ae 100644 --- a/idea/idea-core/build.gradle.kts +++ b/idea/idea-core/build.gradle.kts @@ -1,5 +1,10 @@ apply { plugin("kotlin") } +configureIntellijPlugin { + setPlugins("gradle") + setExtraDependencies("intellij-core") +} + dependencies { compile(projectDist(":kotlin-stdlib")) compileOnly(project(":kotlin-reflect-api")) @@ -14,12 +19,17 @@ dependencies { compile(project(":idea:ide-common")) compile(project(":idea:idea-jps-common")) compile(project(":plugins:android-extensions-compiler")) - compile(ideaSdkCoreDeps("intellij-core", "util")) - compile(ideaSdkDeps("openapi", "idea")) - compile(ideaPluginDeps("gradle-tooling-api", "gradle", plugin = "gradle")) compile(preloadedDeps("kotlinx-coroutines-core", "kotlinx-coroutines-jdk8")) } +afterEvaluate { + dependencies { + compile(intellijCoreJar()) + compile(intellij { include("util.jar", "openapi.jar", "idea.jar") }) + compile(intellijPlugin("gradle") { include("gradle-tooling-api-*.jar", "gradle.jar") }) + } +} + sourceSets { "main" { projectDefault() diff --git a/idea/idea-gradle/build.gradle.kts b/idea/idea-gradle/build.gradle.kts index 18f577ab8a4..c73b8cc2808 100644 --- a/idea/idea-gradle/build.gradle.kts +++ b/idea/idea-gradle/build.gradle.kts @@ -1,10 +1,10 @@ apply { plugin("kotlin") } -dependencies { +configureIntellijPlugin { + setPlugins("android", "coverage", "gradle", "Groovy", "junit", "maven", "properties", "testng") +} - compileOnly(ideaSdkDeps("openapi", "idea", "external-system-rt", "forms_rt")) - compileOnly(ideaPluginDeps("gradle-tooling-api", "gradle", "gradle-base-services", plugin = "gradle")) - compileOnly(ideaPluginDeps("Groovy", plugin = "Groovy")) +dependencies { compileOnly(project(":idea")) compileOnly(project(":idea:idea-jvm")) @@ -18,9 +18,6 @@ dependencies { testCompile(projectTests(":idea")) testCompile(project(":idea:idea-test-framework")) - testCompile(ideaPluginDeps("gradle-wrapper", "gradle-base-services", "gradle-tooling-extension-impl", "gradle-tooling-api", "gradle", plugin = "gradle")) - testCompile(ideaPluginDeps("Groovy", plugin = "Groovy")) - testCompileOnly(ideaSdkDeps("groovy-all", "idea_rt")) testRuntime(projectDist(":kotlin-reflect")) testRuntime(project(":idea:idea-jvm")) @@ -31,17 +28,25 @@ dependencies { testRuntime(project(":sam-with-receiver-ide-plugin")) testRuntime(project(":allopen-ide-plugin")) testRuntime(project(":noarg-ide-plugin")) +} - testRuntime(ideaSdkDeps("*.jar")) - - testRuntime(ideaPluginDeps("*.jar", 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")) +afterEvaluate { + dependencies { + compileOnly(intellij { include("openapi.jar", "idea.jar", "external-system-rt.jar", "forms_rt.jar") }) + compileOnly(intellijPlugin("gradle") { include("gradle-tooling-api-*.jar", "gradle.jar", "gradle-base-services-*.jar") }) + compileOnly(intellijPlugin("Groovy") { include("Groovy.jar") }) + testCompile(intellijPlugin("gradle") { include("gradle-wrapper-*.jar", "gradle-base-services-*.jar", "gradle-tooling-extension-impl.jar", "gradle-tooling-api-*.jar", "gradle.jar") }) + testCompileOnly(intellijPlugin("Groovy") { include("Groovy.jar") }) + testCompileOnly(intellij { include("groovy-all-*.jar", "idea_rt.jar") }) + testRuntime(intellij()) + // TODO: the order of the plugins matters here, consider avoiding order-dependency + testRuntime(intellijPlugins("junit")) + testRuntime(intellijPlugin("testng") { include("jcommander.jar", "resources_en.jar") }) + testRuntime(intellijPlugin("properties") { include("resources_en.jar") }) + testRuntime(intellijPlugins("gradle", "Groovy")) + testRuntime(intellijPlugin("coverage") { include("jacocoant*.jar") }) + testRuntime(intellijPlugins("maven", "android")) + } } sourceSets { diff --git a/idea/idea-jps-common/build.gradle.kts b/idea/idea-jps-common/build.gradle.kts index 439d7e17ff3..59749567f5f 100644 --- a/idea/idea-jps-common/build.gradle.kts +++ b/idea/idea-jps-common/build.gradle.kts @@ -1,13 +1,23 @@ apply { plugin("kotlin") } +configureIntellijPlugin { + setExtraDependencies("intellij-core") +} + dependencies { compile(projectDist(":kotlin-stdlib")) compileOnly(project(":kotlin-reflect-api")) compile(project(":compiler:util")) compile(project(":compiler:cli-common")) compile(project(":compiler:frontend.java")) - compile(ideaSdkCoreDeps("intellij-core", "util")) +} + +afterEvaluate { + dependencies { + compile(intellijCoreJar()) + compile(intellij { include("util.jar") }) + } } sourceSets { diff --git a/idea/idea-jvm/build.gradle.kts b/idea/idea-jvm/build.gradle.kts index 7a88b260a0d..af31b6807e1 100644 --- a/idea/idea-jvm/build.gradle.kts +++ b/idea/idea-jvm/build.gradle.kts @@ -1,21 +1,28 @@ apply { plugin("kotlin") } +configureIntellijPlugin { + setPlugins("junit", "testng", "coverage", "java-decompiler") +} + dependencies { compile(project(":idea")) compile(project(":compiler:light-classes")) compile(project(":compiler:frontend.java")) - - compileOnly(ideaSdkDeps("openapi", "idea", "velocity", "boot", "gson", "swingx-core", "jsr305", "forms_rt")) - - 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")) } +afterEvaluate { + dependencies { + compileOnly(intellij { include("openapi.jar", "idea.jar") }) + + compile(intellijPlugin("junit") { include("idea-junit.jar") }) + compile(intellijPlugin("testng") { include("testng.jar", "testng-plugin.jar") }) + compile(intellijPlugin("coverage") { include("coverage.jar") }) + compile(intellijPlugin("java-decompiler") { include("java-decompiler.jar") }) + } +} + + sourceSets { "main" { projectDefault() } "test" { none() } diff --git a/idea/idea-maven/build.gradle.kts b/idea/idea-maven/build.gradle.kts index 0b93378044f..472af2fb3db 100644 --- a/idea/idea-maven/build.gradle.kts +++ b/idea/idea-maven/build.gradle.kts @@ -1,10 +1,11 @@ apply { plugin("kotlin") } -dependencies { - compileOnly(ideaSdkDeps("openapi", "idea", "gson")) - compileOnly(ideaPluginDeps("maven", "maven-server-api", plugin = "maven")) +configureIntellijPlugin { + setPlugins("android", "coverage", "gradle", "Groovy", "junit", "maven", "properties", "testng") +} +dependencies { compile(project(":core:util.runtime")) compile(project(":compiler:frontend")) compile(project(":compiler:frontend.java")) @@ -21,8 +22,6 @@ dependencies { testCompile(projectTests(":idea")) testCompile(projectTests(":compiler:tests-common")) testCompile(project(":idea:idea-test-framework")) - testCompileOnly(ideaSdkDeps("openapi", "idea", "gson", "idea_rt")) - testCompileOnly(ideaPluginDeps("maven", "maven-server-api", plugin = "maven")) testRuntime(projectDist(":kotlin-reflect")) testRuntime(project(":idea:idea-jvm")) @@ -32,15 +31,23 @@ dependencies { testRuntime(project(":sam-with-receiver-ide-plugin")) testRuntime(project(":allopen-ide-plugin")) testRuntime(project(":noarg-ide-plugin")) - 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")) +} + +afterEvaluate { + dependencies { + compileOnly(intellij { include("openapi.jar", "idea.jar", "gson-*.jar") }) + compileOnly(intellijPlugin("maven") { include("maven.jar", "maven-server-api.jar") }) + testCompileOnly(intellij { include("openapi.jar", "idea.jar", "gson-*.jar", "idea_rt.jar") }) + testCompileOnly(intellijPlugin("maven") { include("maven.jar", "maven-server-api.jar") }) + testRuntime(intellij()) + // TODO: the order of the plugins matters here, consider avoiding order-dependency + testRuntime(intellijPlugins("junit")) + testRuntime(intellijPlugin("testng") { include("jcommander.jar", "resources_en.jar") }) + testRuntime(intellijPlugin("properties") { include("resources_en.jar") }) + testRuntime(intellijPlugins("gradle", "Groovy")) + testRuntime(intellijPlugin("coverage") { include("jacocoant*.jar") }) + testRuntime(intellijPlugins("maven", "android")) + } } sourceSets { diff --git a/idea/idea-test-framework/build.gradle.kts b/idea/idea-test-framework/build.gradle.kts index 056dab8b692..e133a411d2e 100644 --- a/idea/idea-test-framework/build.gradle.kts +++ b/idea/idea-test-framework/build.gradle.kts @@ -1,6 +1,8 @@ apply { plugin("kotlin") } +configureIntellijPlugin() + dependencies { compile(project(":compiler:frontend")) compile(project(":compiler:frontend.script")) @@ -12,7 +14,12 @@ dependencies { compile(project(":kotlin-test:kotlin-test-jvm")) compileOnly(project(":kotlin-reflect-api")) compile(commonDep("junit:junit")) - compile(ideaSdkDeps("openapi", "idea")) +} + +afterEvaluate { + dependencies { + compile(intellij { include("openapi.jar", "idea.jar") }) + } } sourceSets { diff --git a/idea/kotlin-gradle-tooling/build.gradle.kts b/idea/kotlin-gradle-tooling/build.gradle.kts index e05aa825ec3..65cbb8b7ffc 100644 --- a/idea/kotlin-gradle-tooling/build.gradle.kts +++ b/idea/kotlin-gradle-tooling/build.gradle.kts @@ -5,15 +5,25 @@ apply { plugin("kotlin") } jvmTarget = "1.6" +configureIntellijPlugin { + setPlugins("gradle") +} + dependencies { compile(projectDist(":kotlin-stdlib")) compile(project(":compiler:cli-common")) - compile(ideaSdkDeps("gradle-tooling-api", - "gradle-tooling-extension-api", - "gradle", - "gradle-core", - "gradle-base-services-groovy", - subdir = "plugins/gradle/lib")) +} + +afterEvaluate { + dependencies { + compile(intellijPlugin("gradle") { + include("gradle-tooling-api-*.jar", + "gradle-tooling-extension-api.jar", + "gradle.jar", + "gradle-core-*.jar", + "gradle-base-services-groovy-*.jar") + }) + } } sourceSets { diff --git a/plugins/allopen/allopen-ide/build.gradle.kts b/plugins/allopen/allopen-ide/build.gradle.kts index 5eef4886657..fbd444fa3de 100644 --- a/plugins/allopen/allopen-ide/build.gradle.kts +++ b/plugins/allopen/allopen-ide/build.gradle.kts @@ -5,6 +5,10 @@ apply { plugin("kotlin") } jvmTarget = "1.6" +configureIntellijPlugin { + setPlugins("gradle", "maven") +} + dependencies { compile(project(":kotlin-allopen-compiler-plugin")) compile(project(":compiler:util")) @@ -13,11 +17,15 @@ dependencies { compile(project(":idea")) compile(project(":idea:idea-jps-common")) compile(project(":plugins:annotation-based-compiler-plugins-ide-support")) - compile(ideaSdkDeps("openapi", "idea")) - compile(ideaPluginDeps("maven", plugin = "maven")) - compile(ideaPluginDeps("gradle-tooling-api", "gradle", plugin = "gradle")) } +afterEvaluate { + dependencies { + compile(intellij { include("openapi.jar", "idea.jar") }) + compile(intellijPlugin("maven") { include("maven.jar") }) + compile(intellijPlugin("gradle") { include("gradle-tooling-api-*.jar", "gradle.jar") }) + } +} sourceSets { "main" { projectDefault() } diff --git a/plugins/android-extensions/android-extensions-idea/build.gradle.kts b/plugins/android-extensions/android-extensions-idea/build.gradle.kts index a465986cc06..17d7f2725a2 100644 --- a/plugins/android-extensions/android-extensions-idea/build.gradle.kts +++ b/plugins/android-extensions/android-extensions-idea/build.gradle.kts @@ -5,6 +5,11 @@ apply { plugin("kotlin") } jvmTarget = "1.6" +configureIntellijPlugin { + setPlugins("android", "copyright", "coverage", "gradle", "Groovy", "IntelliLang", + "java-decompiler", "java-i18n", "junit", "maven", "properties", "testng") +} + dependencies { compile(project(":compiler:util")) compile(project(":compiler:light-classes")) @@ -12,8 +17,6 @@ dependencies { compile(project(":idea")) compile(project(":idea:idea-gradle")) compile(project(":plugins:android-extensions-compiler")) - compile(ideaPluginDeps("android", "android-common", "sdk-tools", "sdk-common", plugin = "android")) - compile(ideaPluginDeps("Groovy", plugin = "Groovy")) compileOnly(project(":kotlin-android-extensions-runtime")) testCompile(project(":compiler:tests-common")) @@ -33,19 +36,16 @@ dependencies { testRuntime(project(":noarg-ide-plugin")) testRuntime(project(":allopen-ide-plugin")) testRuntime(project(":plugins:lint")) - testRuntime(ideaSdkDeps("*.jar")) - testRuntime(ideaPluginDeps("idea-junit", "resources_en", plugin = "junit")) - testRuntime(ideaPluginDeps("IntelliLang", plugin = "IntelliLang")) - testRuntime(ideaPluginDeps("jcommander", "testng", "testng-plugin", "resources_en", plugin = "testng")) - testRuntime(ideaPluginDeps("copyright", plugin = "copyright")) - testRuntime(ideaPluginDeps("properties", "resources_en", plugin = "properties")) - testRuntime(ideaPluginDeps("java-i18n", plugin = "java-i18n")) - testRuntime(ideaPluginDeps("*.jar", plugin = "gradle")) - testRuntime(ideaPluginDeps("*.jar", plugin = "Groovy")) - testRuntime(ideaPluginDeps("coverage", "jacocoant", plugin = "coverage")) - testRuntime(ideaPluginDeps("java-decompiler", plugin = "java-decompiler")) - testRuntime(ideaPluginDeps("*.jar", plugin = "maven")) - testRuntime(ideaPluginDeps("*.jar", plugin = "android")) +} + +afterEvaluate { + dependencies { + compile(intellijPlugin("android") { include("android.jar", "android-common.jar", "sdk-common.jar", "sdk-tools.jar") }) + compile(intellijPlugin("Groovy") { include("Groovy.jar") }) + testRuntime(intellij()) + testRuntime(intellijPlugins("junit", "IntelliLang", "testng", "copyright", "properties", "java-i18n", + "gradle", "Groovy", "coverage", "java-decompiler", "maven", "android")) + } } sourceSets { diff --git a/plugins/noarg/noarg-ide/build.gradle.kts b/plugins/noarg/noarg-ide/build.gradle.kts index bcb218b4e2f..8f0b2be00c2 100644 --- a/plugins/noarg/noarg-ide/build.gradle.kts +++ b/plugins/noarg/noarg-ide/build.gradle.kts @@ -5,6 +5,10 @@ apply { plugin("kotlin") } jvmTarget = "1.6" +configureIntellijPlugin { + setPlugins("gradle", "maven") +} + dependencies { compile(project(":kotlin-noarg-compiler-plugin")) compile(project(":compiler:util")) @@ -15,11 +19,15 @@ dependencies { compile(project(":idea")) compile(project(":idea:idea-jps-common")) compile(project(":plugins:annotation-based-compiler-plugins-ide-support")) - compile(ideaSdkDeps("openapi", "idea")) - compile(ideaPluginDeps("maven", plugin = "maven")) - compile(ideaPluginDeps("gradle-tooling-api", "gradle", plugin = "gradle")) } +afterEvaluate { + dependencies { + compile(intellij { include("openapi.jar", "idea.jar") }) + compile(intellijPlugin("maven") { include("maven.jar") }) + compile(intellijPlugin("gradle") { include("gradle-tooling-api-*.jar", "gradle.jar") }) + } +} sourceSets { "main" { projectDefault() } diff --git a/plugins/uast-kotlin/build.gradle.kts b/plugins/uast-kotlin/build.gradle.kts index d501286d06f..777a2917b70 100644 --- a/plugins/uast-kotlin/build.gradle.kts +++ b/plugins/uast-kotlin/build.gradle.kts @@ -1,6 +1,12 @@ apply { plugin("kotlin") } +configureIntellijPlugin { + setPlugins("junit", "gradle", "Groovy", "android", + "maven", // TODO: check whether it works in AS (it was marked optional before + "properties") +} + dependencies { compile(projectDist(":kotlin-stdlib")) compile(project(":core:util.runtime")) @@ -8,22 +14,13 @@ dependencies { compile(project(":compiler:frontend")) compile(project(":compiler:frontend.java")) compile(project(":compiler:light-classes")) - compileOnly(ideaSdkDeps("openapi", "idea")) testCompile(projectDist(":kotlin-test:kotlin-test-jvm")) testCompile(projectTests(":compiler:tests-common")) testCompile(commonDep("junit:junit")) testCompile(project(":compiler:util")) testCompile(project(":compiler:cli")) testCompile(project(":idea:idea-test-framework")) - testCompileOnly(ideaSdkDeps("idea_rt")) testRuntime(projectDist(":kotlin-reflect")) - testRuntime(ideaSdkDeps("*.jar")) - testRuntime(ideaPluginDeps("*.jar", plugin = "junit")) - testRuntime(ideaPluginDeps("*.jar", plugin = "gradle")) - testRuntime(ideaPluginDeps("*.jar", plugin = "Groovy")) - testRuntime(ideaPluginDeps("*.jar", plugin = "android")) - testRuntime(ideaPluginDeps("*.jar", plugin = "maven", optional = true)) - testRuntime(ideaPluginDeps("*.jar", plugin = "properties")) testRuntime(project(":idea:idea-android")) testRuntime(project(":idea:idea-gradle")) testRuntime(project(":plugins:kapt3-idea")) { isTransitive = false } @@ -33,6 +30,17 @@ dependencies { testRuntime(project(":plugins:android-extensions-ide")) } +afterEvaluate { + dependencies { + compileOnly(intellij { include("openapi.jar", "idea.jar") }) + testCompileOnly(intellij { include("idea_rt.jar") }) + testRuntime(intellij()) + compile(intellijPlugins("junit", "gradle", "Groovy", "android", + "maven", // TODO: check whether it works in AS (it was marked optional before + "properties")) + } +} + sourceSets { "main" { projectDefault() } "test" { projectDefault() } diff --git a/test-instrumenter/build.gradle.kts b/test-instrumenter/build.gradle.kts index ad0ec9fc0d6..99667df11c0 100644 --- a/test-instrumenter/build.gradle.kts +++ b/test-instrumenter/build.gradle.kts @@ -1,31 +1,22 @@ import org.gradle.jvm.tasks.Jar -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ plugins { java } apply { plugin("kotlin") } - +configureIntellijPlugin { + setExtraDependencies("intellij-core") +} dependencies { - compile(ideaSdkCoreDeps("intellij-core")) - compile(ideaSdkDeps("asm-all")) compile(project(":kotlin-stdlib")) } +afterEvaluate { + dependencies { + compile(intellijCoreJar()) + compile(intellij { include("asm-all.jar") }) + } +} sourceSets { "main" { projectDefault() }