From aa4fdaa7137f3d798986bd001cb195c0e36accae Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Thu, 3 Aug 2017 15:49:30 +0200 Subject: [PATCH] Implement publishing in the build --- .idea/compiler.xml | 236 +++++++++++++++--- ant/build.gradle.kts | 2 +- build.gradle.kts | 14 +- buildSrc/settings.gradle | 1 - .../kotlin/plugins/PublishedKotlinModule.kt | 93 +++++++ compiler.tests-common/build.gradle.kts | 2 +- compiler/backend-common/build.gradle.kts | 1 + compiler/build.gradle.kts | 10 +- compiler/cli/build.gradle.kts | 2 +- compiler/cli/cli-runner/build.gradle.kts | 2 +- .../cli/jvm/compiler/KotlinCoreEnvironment.kt | 2 +- compiler/frontend.script/build.gradle.kts | 2 +- compiler/frontend/build.gradle.kts | 2 +- core/script.runtime/build.gradle.kts | 2 +- core/util.runtime/build.gradle.kts | 2 +- idea/idea-android/build.gradle.kts | 2 +- kotlin-bootstrap-version.txt | 2 +- kotlin-version-for-gradle.txt | 2 +- .../build.gradle.kts | 2 +- .../build.gradle.kts | 1 + .../build.gradle.kts | 190 ++++++++++++++ prepare/compiler/build.gradle.kts | 2 +- settings.gradle | 212 ++++++++-------- 23 files changed, 626 insertions(+), 160 deletions(-) delete mode 100644 buildSrc/settings.gradle create mode 100644 buildSrc/src/main/kotlin/plugins/PublishedKotlinModule.kt create mode 100644 prepare/compiler-client-embeddable/build.gradle.kts diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 3d8f44e5abf..f84a1adbcfb 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,35 +1,215 @@ - \ No newline at end of file diff --git a/ant/build.gradle.kts b/ant/build.gradle.kts index f3c25c46707..a73b612cb8c 100644 --- a/ant/build.gradle.kts +++ b/ant/build.gradle.kts @@ -7,7 +7,7 @@ dependencies { val compile by configurations compile(commonDep("org.apache.ant", "ant")) compile(project(":compiler:preloader")) - compile(kotlinDep("stdlib")) + compile(project(":kotlin-stdlib")) buildVersion() } diff --git a/build.gradle.kts b/build.gradle.kts index ec1377ed0e4..df8927efdd0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -11,7 +11,8 @@ buildscript { extra["kotlin_gradle_plugin_version"] = extra["kotlin_version"] extra["repos"] = listOf("https://dl.bintray.com/kotlin/kotlin-dev", "https://repo.gradle.org/gradle/repo", - "https://plugins.gradle.org/m2") + "https://plugins.gradle.org/m2", + "http://repository.jetbrains.com/utils/") repositories { for (repo in (rootProject.extra["repos"] as List)) { @@ -83,7 +84,7 @@ extra["versions.javax.inject"] = "1" extra["versions.jsr305"] = "1.3.9" extra["versions.cli-parser"] = "1.1.2" extra["versions.jansi"] = "1.11" -extra["versions.jline"] = "2.12.1" +extra["versions.jline"] = "3.3.1" extra["versions.junit"] = "4.12" extra["versions.javaslang"] = "2.0.6" extra["versions.ant"] = "1.8.2" @@ -124,9 +125,12 @@ allprojects { version = buildNumber } -applyFrom("libraries/commonConfiguration.gradle") -applyFrom("libraries/gradlePluginsConfiguration.gradle") -applyFrom("libraries/configureGradleTools.gradle") +apply { + from("libraries/commonConfiguration.gradle") + from("libraries/gradlePluginsConfiguration.gradle") + from("libraries/configureGradleTools.gradle") +// from("libraries/prepareSonatypeStaging.gradle") +} val importedAntTasksPrefix = "imported-ant-update-" diff --git a/buildSrc/settings.gradle b/buildSrc/settings.gradle deleted file mode 100644 index 2df1179cacb..00000000000 --- a/buildSrc/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.buildFileName = 'build.gradle.kts' diff --git a/buildSrc/src/main/kotlin/plugins/PublishedKotlinModule.kt b/buildSrc/src/main/kotlin/plugins/PublishedKotlinModule.kt new file mode 100644 index 00000000000..f4b661c8ccf --- /dev/null +++ b/buildSrc/src/main/kotlin/plugins/PublishedKotlinModule.kt @@ -0,0 +1,93 @@ +package plugins + +import org.codehaus.groovy.runtime.InvokerHelper +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.artifacts.dsl.RepositoryHandler +import org.gradle.api.artifacts.maven.GroovyMavenDeployer + +import org.gradle.api.plugins.MavenRepositoryHandlerConvention +import org.gradle.api.tasks.Upload +import org.gradle.kotlin.dsl.* + + +/** + * Configures a Kotlin module for publication. + * + */ +open class PublishedKotlinModule : Plugin { + + override fun apply(project: Project) { + + project.run { + + plugins.apply("maven") + + (tasks.getByName("uploadArchives") as Upload).apply { + + val preparePublication = project.rootProject.tasks.getByName("preparePublication") + dependsOn(preparePublication) + + val username: String? by preparePublication.extra + val password: String? by preparePublication.extra + + repositories { + withConvention(MavenRepositoryHandlerConvention::class) { + + mavenDeployer { + withGroovyBuilder { + "repository"("url" to uri(preparePublication.extra["repoUrl"])) + + if (username != null && password != null) { + "authentication"("userName" to username, "password" to password) + } + } + + pom.project { + withGroovyBuilder { + "licenses" { + "license" { + "name"("The Apache Software License, Version 2.0") + "url"("http://www.apache.org/licenses/LICENSE-2.0.txt") + "distribution"("repo") + } + } + "name"("${project.group}:${project.name}") + "packaging"("jar") + // optionally artifactId can be defined here + "description"(project.description) + "url"("https://kotlinlang.org/") + "licenses" { + "license" { + "name"("The Apache License, Version 2.0") + "url"("http://www.apache.org/licenses/LICENSE-2.0.txt") + } + } + "scm" { + "url"("https://github.com/JetBrains/kotlin") + "connection"("scm:git:https://github.com/JetBrains/kotlin.git") + "developerConnection"("scm:git:https://github.com/JetBrains/kotlin.git") + } + "developers" { + "developer" { + "name"("Kotlin Team") + "organization" { + "name"("JetBrains") + "url"("https://www.jetbrains.com") + } + } + } + } + } + pom.whenConfigured { + dependencies.removeIf { + InvokerHelper.getMetaClass(it).getProperty(it, "scope") == "test" + } + } + } + } + } + } + } + } +} diff --git a/compiler.tests-common/build.gradle.kts b/compiler.tests-common/build.gradle.kts index 45362fd15c1..ed331c880d4 100644 --- a/compiler.tests-common/build.gradle.kts +++ b/compiler.tests-common/build.gradle.kts @@ -23,7 +23,7 @@ dependencies { compile(project(":js:js.frontend")) compile(project(":js:js.translator")) compile(project(":plugins:android-extensions-compiler")) - compile(kotlinDep("test")) + compile(project(":kotlin-test:kotlin-test-jvm")) compile(commonDep("junit")) compile(ideaSdkCoreDeps("intellij-core")) compile(ideaSdkDeps("openapi", "idea", "idea_rt")) diff --git a/compiler/backend-common/build.gradle.kts b/compiler/backend-common/build.gradle.kts index 65b9e057606..1edde2c3a5e 100644 --- a/compiler/backend-common/build.gradle.kts +++ b/compiler/backend-common/build.gradle.kts @@ -7,6 +7,7 @@ dependencies { compile(project(":compiler:util")) compile(project(":compiler:frontend")) compile(project(":compiler:ir.tree")) + compile(project(":compiler:cli-common")) } configureKotlinProjectSources("backend-common/src", "ir/backend.common/src", sourcesBaseDir = File(rootDir, "compiler")) diff --git a/compiler/build.gradle.kts b/compiler/build.gradle.kts index 91868bf64ca..cffdd8360d0 100644 --- a/compiler/build.gradle.kts +++ b/compiler/build.gradle.kts @@ -77,7 +77,7 @@ dependencies { compileOnly(project(":build-common")) compileOnly(ideaSdkCoreDeps(*(rootProject.extra["ideaCoreSdkJars"] as Array))) compileOnly(commonDep("org.fusesource.jansi", "jansi")) - compileOnly(commonDep("jline")) + compileOnly(commonDep("org.jline", "jline")) testCompile(commonDep("junit:junit")) testCompile(project(":kotlin-test:kotlin-test-jvm")) @@ -108,7 +108,7 @@ dependencies { fatJarContents(ideaSdkDeps("jna-platform", "oromatcher")) fatJarContents(ideaSdkDeps("jps-model.jar", subdir = "jps")) fatJarContents(commonDep("javax.inject")) - fatJarContents(commonDep("jline")) + fatJarContents(commonDep("org.jline", "jline")) fatJarContents(protobufFull()) fatJarContents(commonDep("com.github.spullara.cli-parser", "cli-parser")) fatJarContents(commonDep("com.google.code.findbugs", "jsr305")) @@ -118,9 +118,9 @@ dependencies { proguardLibraryJars(files(firstFromJavaHomeThatExists("lib/rt.jar", "../Classes/classes.jar"), firstFromJavaHomeThatExists("lib/jsse.jar", "../Classes/jsse.jar"), firstFromJavaHomeThatExists("../lib/tools.jar", "../Classes/tools.jar"))) - proguardLibraryJars(kotlinDep("stdlib")) - proguardLibraryJars(kotlinDep("script-runtime")) - proguardLibraryJars(kotlinDep("reflect")) + proguardLibraryJars(project(":kotlin-stdlib", configuration = "mainJar")) + proguardLibraryJars(project(":kotlin-script-runtime", configuration = "mainJar")) + proguardLibraryJars(project(":kotlin-reflect", configuration = "mainJar")) proguardLibraryJars(preloadedDeps("kotlinx-coroutines-core")) // proguardLibraryJars(project(":prepare:runtime", configuration = "default").apply { isTransitive = false }) diff --git a/compiler/cli/build.gradle.kts b/compiler/cli/build.gradle.kts index 25ef63ba093..56f3a1c28ae 100644 --- a/compiler/cli/build.gradle.kts +++ b/compiler/cli/build.gradle.kts @@ -18,7 +18,7 @@ dependencies { compile(project(":js:js.dce")) compile(ideaSdkCoreDeps(*(rootProject.extra["ideaCoreSdkJars"] as Array))) compile(commonDep("org.fusesource.jansi", "jansi")) - compile(commonDep("jline")) + compile(commonDep("org.jline", "jline")) compile(files("${System.getProperty("java.home")}/../lib/tools.jar")) } diff --git a/compiler/cli/cli-runner/build.gradle.kts b/compiler/cli/cli-runner/build.gradle.kts index efcba6bfdbb..1050442bc0b 100644 --- a/compiler/cli/cli-runner/build.gradle.kts +++ b/compiler/cli/cli-runner/build.gradle.kts @@ -5,7 +5,7 @@ apply { plugin("kotlin") } dependencies { val compile by configurations - compile(kotlinDep("stdlib")) + compile(project(":kotlin-stdlib")) buildVersion() } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt index fcf2675d35a..6347f6a22f9 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt @@ -498,7 +498,7 @@ class KotlinCoreEnvironment private constructor( val pluginRoot = configuration.get(CLIConfigurationKeys.INTELLIJ_PLUGIN_ROOT)?.let(::File) ?: configuration.get(CLIConfigurationKeys.COMPILER_JAR_LOCATOR)?.compilerJar - ?: PathUtil.getPathUtilJar().takeIf { it.hasConfigFile(configFilePath) } + ?: PathUtil.pathUtilJar.takeIf { it.hasConfigFile(configFilePath) } // hack for load extensions when compiler run directly from project directory (e.g. in tests) ?: File("idea/src").takeIf { it.hasConfigFile(configFilePath) } ?: throw IllegalStateException("Unable to find extension point configuration $configFilePath") diff --git a/compiler/frontend.script/build.gradle.kts b/compiler/frontend.script/build.gradle.kts index ba21c3c29a7..770adfbd62c 100644 --- a/compiler/frontend.script/build.gradle.kts +++ b/compiler/frontend.script/build.gradle.kts @@ -5,7 +5,7 @@ dependencies { val compile by configurations compile(project(":compiler:util")) compile(project(":compiler:frontend")) - compile(kotlinDep("reflect")) + compile(project(":kotlin-reflect")) compile(preloadedDeps("kotlinx-coroutines-core")) } diff --git a/compiler/frontend/build.gradle.kts b/compiler/frontend/build.gradle.kts index 61f0aa5683a..6b6fc774eb5 100644 --- a/compiler/frontend/build.gradle.kts +++ b/compiler/frontend/build.gradle.kts @@ -7,7 +7,7 @@ dependencies { compile(project(":compiler:util")) compile(project(":compiler:container")) compile(project(":compiler:resolution")) - compile(kotlinDep("script-runtime")) + compile(project(":kotlin-script-runtime")) compile(commonDep("io.javaslang","javaslang")) } diff --git a/core/script.runtime/build.gradle.kts b/core/script.runtime/build.gradle.kts index 7344c80b58e..29911d38fcf 100644 --- a/core/script.runtime/build.gradle.kts +++ b/core/script.runtime/build.gradle.kts @@ -6,7 +6,7 @@ apply { plugin("kotlin") } dependencies { val compile by configurations compile(project(":core:builtins")) - compile(kotlinDep("stdlib")) + compile(project(":kotlin-stdlib")) buildVersion() } diff --git a/core/util.runtime/build.gradle.kts b/core/util.runtime/build.gradle.kts index bdd4793e6cd..50bc2b44d20 100644 --- a/core/util.runtime/build.gradle.kts +++ b/core/util.runtime/build.gradle.kts @@ -7,7 +7,7 @@ apply { dependencies { val compile by configurations compile(project(":core:builtins")) - compile(kotlinDep("stdlib")) + compile(project(":kotlin-stdlib")) } configureKotlinProjectSourcesDefault() diff --git a/idea/idea-android/build.gradle.kts b/idea/idea-android/build.gradle.kts index 13498c9ffd9..fb64b9d710a 100644 --- a/idea/idea-android/build.gradle.kts +++ b/idea/idea-android/build.gradle.kts @@ -7,7 +7,7 @@ dependencies { val testCompileOnly by configurations val testRuntime by configurations - compile(kotlinDep("reflect")) + compile(project(":kotlin-reflect")) compile(project(":compiler:util")) compile(project(":compiler:light-classes")) compile(project(":compiler:frontend")) diff --git a/kotlin-bootstrap-version.txt b/kotlin-bootstrap-version.txt index 814c8e60951..1727dafbfd9 100644 --- a/kotlin-bootstrap-version.txt +++ b/kotlin-bootstrap-version.txt @@ -1 +1 @@ -1.1.4-eap-33 +1.1.5-dev-393 diff --git a/kotlin-version-for-gradle.txt b/kotlin-version-for-gradle.txt index 814c8e60951..1727dafbfd9 100644 --- a/kotlin-version-for-gradle.txt +++ b/kotlin-version-for-gradle.txt @@ -1 +1 @@ -1.1.4-eap-33 +1.1.5-dev-393 diff --git a/libraries/examples/annotation-processor-example/build.gradle.kts b/libraries/examples/annotation-processor-example/build.gradle.kts index 09b0334d26b..3a9e1f290f0 100644 --- a/libraries/examples/annotation-processor-example/build.gradle.kts +++ b/libraries/examples/annotation-processor-example/build.gradle.kts @@ -4,7 +4,7 @@ apply { plugin("kotlin") } dependencies { val compile by configurations - compile(kotlinDep("stdlib")) + compile(project(":kotlin-stdlib")) } configureKotlinProjectSources("src/kotlin") diff --git a/plugins/android-extensions/android-extensions-compiler/build.gradle.kts b/plugins/android-extensions/android-extensions-compiler/build.gradle.kts index cec502b8909..3900307dfaf 100644 --- a/plugins/android-extensions/android-extensions-compiler/build.gradle.kts +++ b/plugins/android-extensions/android-extensions-compiler/build.gradle.kts @@ -15,6 +15,7 @@ dependencies { } configureKotlinProjectSources("android-extensions-compiler/src", "android-extensions-runtime/src", sourcesBaseDir = File(rootDir, "plugins", "android-extensions")) +configureKotlinProjectResourcesDefault(sourcesBaseDir = File(rootDir, "plugins", "android-extensions", "android-extensions-compiler", "src")) configureKotlinProjectNoTests() val jar: Jar by tasks diff --git a/prepare/compiler-client-embeddable/build.gradle.kts b/prepare/compiler-client-embeddable/build.gradle.kts new file mode 100644 index 00000000000..9f46522898a --- /dev/null +++ b/prepare/compiler-client-embeddable/build.gradle.kts @@ -0,0 +1,190 @@ +/* + * 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. + */ + +/* + * 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. + */ + + +import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar + +buildscript { + repositories { + jcenter() + } + + dependencies { + classpath("com.github.jengelman.gradle.plugins:shadow:1.2.3") + } +} + +plugins { + maven +} + +apply { plugin("kotlin") } + +val jarContents by configurations.creating +val testRuntimeCompilerJar by configurations.creating +val testStdlibJar by configurations.creating +val testScriptRuntimeJar by configurations.creating +val default by configurations +val archives by configurations + +val projectsToInclude = listOf( + ":compiler:cli-common", + ":compiler:daemon-common", + ":compiler:daemon-client") + +dependencies { + val testCompile by configurations + projectsToInclude.forEach { + jarContents(project(it)) { isTransitive = false } + testCompile(project(it)) + } + testCompile(commonDep("junit:junit")) + testCompile(project(":kotlin-test:kotlin-test-jvm")) + testCompile(project(":kotlin-test:kotlin-test-junit")) + testRuntimeCompilerJar(project(":compiler", configuration = "compilerJar")) + testStdlibJar(project(":kotlin-stdlib", configuration = "mainJar")) + testScriptRuntimeJar(project(":kotlin-script-runtime", configuration = "mainJar")) +} + +val shadowJar by task { + setupRuntimeJar("Kotlin compiler client embeddable") + baseName = "kotlin-compiler-client-embeddable" + from(jarContents) + classifier = "" +} + +configureKotlinProjectSources() // no sources +configureKotlinProjectTests("libraries/tools/kotlin-compiler-client-embeddable-test/src", sourcesBaseDir = rootDir) + +tasks.withType { + dependsOnTaskIfExistsRec("dist", project = rootProject) + workingDir = File(rootDir, "libraries/tools/kotlin-compiler-client-embeddable-test/src") + systemProperty("idea.is.unit.test", "true") + environment("NO_FS_ROOTS_ACCESS_CHECK", "true") + systemProperty("kotlin.test.script.classpath", the().sourceSets.getByName("test").output.classesDirs.joinToString(File.pathSeparator)) + jvmArgs("-ea", "-XX:+HeapDumpOnOutOfMemoryError", "-Xmx1200m", "-XX:+UseCodeCacheFlushing", "-XX:ReservedCodeCacheSize=128m", "-Djna.nosys=true") + maxHeapSize = "1200m" + ignoreFailures = true + systemProperty("idea.is.unit.test", "true") + systemProperty("compilerJar", testRuntimeCompilerJar.singleFile.canonicalPath) + systemProperty("stdlibJar", testStdlibJar.singleFile.canonicalPath) + systemProperty("scriptRuntimeJar", testScriptRuntimeJar.singleFile.canonicalPath) +} + +archives.artifacts.let { artifacts -> + artifacts.forEach { + if (it.type == "jar") { + artifacts.remove(it) + } + } +} + +artifacts.add(default.name, shadowJar.outputs.files.singleFile) { + builtBy(shadowJar) + classifier = "" +} + +artifacts.add("archives", shadowJar.outputs.files.singleFile) { + builtBy(shadowJar) + classifier = "" +} + +apply() + +//tasks { +// "uploadArchives"(Upload::class) { +// +// val preparePublication by rootProject.tasks +// dependsOn(preparePublication) +// +// val username: String? by preparePublication.extra +// val password: String? by preparePublication.extra +// +// repositories { +// withConvention(MavenRepositoryHandlerConvention::class) { +// +// mavenDeployer { +// withGroovyBuilder { +// "repository"("url" to uri(preparePublication.extra["repoUrl"])) +// +// if (username != null && password != null) { +// "authentication"("userName" to username, "password" to password) +// } +// } +// +// pom.project { +// withGroovyBuilder { +// "licenses" { +// "license" { +// "name"("The Apache Software License, Version 2.0") +// "url"("http://www.apache.org/licenses/LICENSE-2.0.txt") +// "distribution"("repo") +// } +// } +// "name"("${project.group}:${project.name}") +// "packaging"("jar") +// // optionally artifactId can be defined here +// "description"(project.description) +// "url"("https://kotlinlang.org/") +// "licenses" { +// "license" { +// "name"("The Apache License, Version 2.0") +// "url"("http://www.apache.org/licenses/LICENSE-2.0.txt") +// } +// } +// "scm" { +// "url"("https://github.com/JetBrains/kotlin") +// "connection"("scm:git:https://github.com/JetBrains/kotlin.git") +// "developerConnection"("scm:git:https://github.com/JetBrains/kotlin.git") +// } +// "developers" { +// "developer" { +// "name"("Kotlin Team") +// "organization"("JetBrains") +// "organizationUrl"("https://www.jetbrains.com") +// } +// } +// } +// } +// pom.whenConfigured { +// dependencies.clear() +//// dependencies.removeIf { +//// withGroovyBuilder { +//// "scope"(*emptyArray()) == "test" +//// } +//// } +// } +// } +// } +// } +// } +//} diff --git a/prepare/compiler/build.gradle.kts b/prepare/compiler/build.gradle.kts index 032c48518a0..d7bf20fa889 100644 --- a/prepare/compiler/build.gradle.kts +++ b/prepare/compiler/build.gradle.kts @@ -45,7 +45,7 @@ dependencies { ideaSdkCoreCfg(ideaSdkDeps("jna-platform", "oromatcher")) ideaSdkCoreCfg(ideaSdkDeps("jps-model.jar", subdir = "jps")) otherDepsCfg(commonDep("javax.inject")) - otherDepsCfg(commonDep("jline")) + otherDepsCfg(commonDep("org.jline", "jline")) otherDepsCfg(protobufFull()) otherDepsCfg(commonDep("com.github.spullara.cli-parser", "cli-parser")) otherDepsCfg(commonDep("com.google.code.findbugs", "jsr305")) diff --git a/settings.gradle b/settings.gradle index 9d9014782c9..b5299cdf8bc 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,111 +1,108 @@ // modules -include 'buildSrc' // this fixes import into idea, so buildsrc is not longer imported with different gradle version -include "build-common" -include "compiler" -include "compiler:util" -include "compiler:daemon-common" -include "compiler:daemon-client" -include "compiler:preloader" -include "compiler:cli-runner" -include "compiler:container" -include "compiler:resolution" -include "compiler:serialization" -include "compiler:frontend" -include "compiler:frontend.java" -include "compiler:frontend.script" -include "compiler:compiler-runner" -include "compiler:cli-common" -include "compiler:ir.tree" -include "compiler:ir.psi2ir" -include "compiler:ir.ir2cfg" -include "compiler:backend-common" -include "compiler:backend" -include "compiler:plugin-api" -include "compiler:light-classes" -include "compiler:cli" -include "compiler:incremental-compilation-impl" -include "compiler:android-tests" -include "compiler.tests-common" -include "js:js.ast" -include "js:js.serializer" -include "js:js.parser" -include "js:js.frontend" -include "js:js.translator" -include "js:js.dce" -include "js:js.tests" -include "jps-plugin" -include "core" -include "core:builtins" -include "core:reflection.jvm" -include "core:script.runtime" -include "core:util.runtime" -include "custom-dependencies:protobuf-lite" -include "idea:idea-jps-common" -include "idea:formatter" -include "idea:ide-common" -include "idea:idea-core" -include "idea:kotlin-gradle-tooling" -include "idea:idea-android" -include "idea:idea-android-output-parser" -include "idea:idea-test-framework" -include "idea" -include "eval4j" -include "j2k" -include "plugins:lint" -include "plugins:android-extensions-compiler" -include "plugins:android-extensions-idea" -include "plugins:android-extensions-jps" -include "plugins:allopen-cli" -include "plugins:allopen-ide" -include "plugins:noarg-cli" -include "plugins:noarg-ide" -include "plugins:sam-with-receiver-cli" -include "plugins:sam-with-receiver-ide" -include "plugins:source-sections-compiler" -include "plugins:uast-kotlin" -include "plugins:uast-kotlin-idea" -include "plugins:annotation-based-compiler-plugins-ide-support" -include "plugins:kapt3" -include "plugins:plugins-tests" -include "kotlin-script-runtime" -include "kotlin-runtime" -include "kotlin-test:kotlin-test-common" -include "kotlin-test:kotlin-test-jvm" -include "kotlin-test:kotlin-test-junit" -include "kotlin-test:kotlin-test-js" -include "kotlin-stdlib-common" -include "kotlin-stdlib" -include "kotlin-stdlib-js" -include "kotlin-stdlib-jre7" -include "kotlin-stdlib-jre8" -include "kotlin-stdlib:samples" -include "prepare:build.version" -//include "prepare:compiler" -//include "prepare:compiler-embeddable" -//include "prepare:reflect" -//include "prepare:runtime" -include "prepare:jps-plugin" -include "prepare:formatter" -include "prepare:ide-lazy-resolver" -include "prepare:kotlin-plugin" -include "prepare:android-lint" -include "prepare:mock-runtime-for-test" -include "kotlin-reflect" -include "ant" -include "compiler:tests-java8" -include "generators" -include 'tools:binary-compatibility-validator' -include 'tools:kotlin-stdlib-js-merger' -include 'tools:kotlin-stdlib-gen' -include ':kotlin-gradle-plugin-api', - ':kotlin-gradle-plugin', - ':kotlin-gradle-plugin-integration-tests', - ':kotlin-allopen', - ':kotlin-noarg', - ':kotlin-sam-with-receiver', - ':kotlin-gradle-subplugin-example' - -include ':examples:annotation-processor-example' +//include ":buildSrc" // this fixes import into idea, so buildsrc is not longer imported with different gradle version +include ":build-common", + ":compiler", + ":compiler:util", + ":compiler:daemon-common", + ":compiler:daemon-client", + ":compiler:preloader", + ":compiler:cli-runner", + ":compiler:container", + ":compiler:resolution", + ":compiler:serialization", + ":compiler:frontend", + ":compiler:frontend.java", + ":compiler:frontend.script", + ":compiler:compiler-runner", + ":compiler:cli-common", + ":compiler:ir.tree", + ":compiler:ir.psi2ir", + ":compiler:ir.ir2cfg", + ":compiler:backend-common", + ":compiler:backend", + ":compiler:plugin-api", + ":compiler:light-classes", + ":compiler:cli", + ":compiler:incremental-compilation-impl", + ":compiler:android-tests", + ":compiler.tests-common", + ":js:js.ast", + ":js:js.serializer", + ":js:js.parser", + ":js:js.frontend", + ":js:js.translator", + ":js:js.dce", + ":js:js.tests", + ":jps-plugin", + ":core", + ":core:builtins", + ":core:reflection.jvm", + ":core:script.runtime", + ":core:util.runtime", + ":custom-dependencies:protobuf-lite", + ":idea:idea-jps-common", + ":idea:formatter", + ":idea:ide-common", + ":idea:idea-core", + ":idea:kotlin-gradle-tooling", + ":idea:idea-android", + ":idea:idea-android-output-parser", + ":idea:idea-test-framework", + ":idea", + ":eval4j", + ":j2k", + ":plugins:lint", + ":plugins:android-extensions-compiler", + ":plugins:android-extensions-idea", + ":plugins:android-extensions-jps", + ":plugins:allopen-cli", + ":plugins:allopen-ide", + ":plugins:noarg-cli", + ":plugins:noarg-ide", + ":plugins:sam-with-receiver-cli", + ":plugins:sam-with-receiver-ide", + ":plugins:source-sections-compiler", + ":plugins:uast-kotlin", + ":plugins:uast-kotlin-idea", + ":plugins:annotation-based-compiler-plugins-ide-support", + ":plugins:kapt3", + ":plugins:plugins-tests", + ":kotlin-script-runtime", + ":kotlin-runtime", + ":kotlin-test:kotlin-test-common", + ":kotlin-test:kotlin-test-jvm", + ":kotlin-test:kotlin-test-junit", + ":kotlin-test:kotlin-test-js", + ":kotlin-stdlib-common", + ":kotlin-stdlib", + ":kotlin-stdlib-js", + ":kotlin-stdlib-jre7", + ":kotlin-stdlib-jre8", + ":kotlin-stdlib:samples", + ":prepare:build.version", + ":prepare:jps-plugin", + ":prepare:formatter", + ":prepare:ide-lazy-resolver", + ":prepare:kotlin-plugin", + ":prepare:android-lint", + ":prepare:mock-runtime-for-test", + ":prepare:compiler-client-embeddable", + ":kotlin-reflect", + ":ant", + ":compiler:tests-java8", + ":generators", + ":tools:binary-compatibility-validator", + ":tools:kotlin-stdlib-js-merger", + ":tools:kotlin-stdlib-gen", + ":kotlin-gradle-plugin-api", + ":kotlin-gradle-plugin", + ":kotlin-gradle-plugin-integration-tests", + ":kotlin-allopen", + ":kotlin-noarg", + ":kotlin-sam-with-receiver", + ":kotlin-gradle-subplugin-example", + ":examples:annotation-processor-example", + ":kotlin-annotation-processing" rootProject.name = "kotlin" @@ -151,6 +148,7 @@ project(':kotlin-noarg').projectDir = "$rootDir/libraries/tools/kotlin-noarg" as project(':kotlin-sam-with-receiver').projectDir = "$rootDir/libraries/tools/kotlin-sam-with-receiver" as File project(':kotlin-gradle-subplugin-example').projectDir = "$rootDir/libraries/examples/kotlin-gradle-subplugin-example" as File project(':examples:annotation-processor-example').projectDir = "$rootDir/libraries/examples/annotation-processor-example" as File +project(':kotlin-annotation-processing').projectDir = "$rootDir/libraries/tools/kotlin-annotation-processing" as File def setBuildFile(ProjectDescriptor project) { if (project.projectDir.listFiles().any { file -> file.name == "build.gradle.kts"}) {