diff --git a/build.gradle.kts b/build.gradle.kts index f8178d00ddc..7e4eec1abb0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -312,6 +312,7 @@ allprojects { jcenter() maven(protobufRepo) maven(intellijRepo) + maven(bootstrapKotlinRepo!!.replace("artifacts/content/maven/", "artifacts/content/internal/repo")) } configureJvmProject(javaHome!!, jvmTarget!!) diff --git a/buildSrc/src/main/kotlin/buildProperties.kt b/buildSrc/src/main/kotlin/buildProperties.kt index 8d9f84d285b..3c4fd0031e8 100644 --- a/buildSrc/src/main/kotlin/buildProperties.kt +++ b/buildSrc/src/main/kotlin/buildProperties.kt @@ -52,6 +52,9 @@ class KotlinBuildProperties( val includeJava9: Boolean get() = !isInJpsBuildIdeaSync + + val useBootstrapStdlib: Boolean + get() = isInJpsBuildIdeaSync } private const val extensionName = "kotlinBuildFlags" diff --git a/buildSrc/src/main/kotlin/dependencies.kt b/buildSrc/src/main/kotlin/dependencies.kt index 54988c1dbc9..b27e5c86483 100644 --- a/buildSrc/src/main/kotlin/dependencies.kt +++ b/buildSrc/src/main/kotlin/dependencies.kt @@ -75,16 +75,17 @@ fun Project.ideaUltimatePreloadedDeps(vararg artifactBaseNames: String, subdir: fun Project.kotlinDep(artifactBaseName: String, version: String): String = "org.jetbrains.kotlin:kotlin-$artifactBaseName:$version" -val Project.useBootstrapStdlib: Boolean - get() = kotlinBuildProperties.isInJpsBuildIdeaSync - fun Project.kotlinStdlib(suffix: String? = null): Any { - return if (useBootstrapStdlib) + return if (kotlinBuildProperties.useBootstrapStdlib) kotlinDep(listOfNotNull("stdlib", suffix).joinToString("-"), bootstrapKotlinVersion) else dependencies.project(listOfNotNull(":kotlin-stdlib", suffix).joinToString("-")) } +fun Project.kotlinBuiltins(): Any = + if (kotlinBuildProperties.useBootstrapStdlib) "org.jetbrains.kotlin:builtins:$bootstrapKotlinVersion" + else dependencies.project(":core:builtins") + fun DependencyHandler.projectTests(name: String): ProjectDependency = project(name, configuration = "tests-jar") fun DependencyHandler.projectRuntimeJar(name: String): ProjectDependency = project(name, configuration = "runtimeJar") fun DependencyHandler.projectArchives(name: String): ProjectDependency = project(name, configuration = "archives") diff --git a/compiler/build.gradle.kts b/compiler/build.gradle.kts index d3d77b4d0dc..8af8874a28e 100644 --- a/compiler/build.gradle.kts +++ b/compiler/build.gradle.kts @@ -65,7 +65,6 @@ dependencies { antLauncherJar(commonDep("org.apache.ant", "ant")) antLauncherJar(files(toolsJar())) - // For JPS build if (project.kotlinBuildProperties.isInJpsBuildIdeaSync) { testRuntimeOnly(files("${rootProject.projectDir}/dist/kotlinc/lib/kotlin-reflect.jar")) } diff --git a/include/kotlin-compiler/build.gradle.kts b/include/kotlin-compiler/build.gradle.kts index 238f6b2dd66..865016a8dae 100644 --- a/include/kotlin-compiler/build.gradle.kts +++ b/include/kotlin-compiler/build.gradle.kts @@ -15,7 +15,7 @@ dependencies { compile(project(module)) { isTransitive = false } } - fatJarContents(project(":core:builtins")) + fatJarContents(kotlinBuiltins()) fatJarContents(commonDep("javax.inject")) fatJarContents(commonDep("org.jline", "jline")) fatJarContents(commonDep("org.fusesource.jansi", "jansi")) diff --git a/libraries/stdlib/jps-build/build.gradle.kts b/libraries/stdlib/jps-build/build.gradle.kts index 9fa6d9237f8..a796e4a7a5e 100644 --- a/libraries/stdlib/jps-build/build.gradle.kts +++ b/libraries/stdlib/jps-build/build.gradle.kts @@ -4,10 +4,6 @@ import java.util.regex.Pattern description = "Stdlib configuration for JPS build (to be interpreted during IDEA project import)" -repositories { - maven(bootstrapKotlinRepo!!.replace("artifacts/content/maven/", "artifacts/content/internal/repo")) -} - val distLib by configurations.creating val distCommon by configurations.creating val distRoot by configurations.creating diff --git a/libraries/tools/kotlin-annotations-android/build.gradle.kts b/libraries/tools/kotlin-annotations-android/build.gradle.kts index 50473b83333..875a5d09196 100644 --- a/libraries/tools/kotlin-annotations-android/build.gradle.kts +++ b/libraries/tools/kotlin-annotations-android/build.gradle.kts @@ -23,7 +23,7 @@ sourceSets { } dependencies { - compile(project(":core:builtins")) + compile(kotlinBuiltins()) } publish() diff --git a/libraries/tools/kotlin-annotations-jvm/build.gradle b/libraries/tools/kotlin-annotations-jvm/build.gradle index fb3e18228c3..528d6836c10 100644 --- a/libraries/tools/kotlin-annotations-jvm/build.gradle +++ b/libraries/tools/kotlin-annotations-jvm/build.gradle @@ -20,7 +20,7 @@ sourceSets { } dependencies { - compile project(':core:builtins') + compile DependenciesKt.kotlinBuiltins(project) } artifacts { diff --git a/prepare/compiler/build.gradle.kts b/prepare/compiler/build.gradle.kts index 4b084a9426e..abce3c3575c 100644 --- a/prepare/compiler/build.gradle.kts +++ b/prepare/compiler/build.gradle.kts @@ -71,7 +71,7 @@ dependencies { trove4jJar(intellijDep()) { includeIntellijCoreJarDependencies(project) { it.startsWith("trove4j") } } - fatJarContents(project(":core:builtins")) + fatJarContents(kotlinBuiltins()) fatJarContents(commonDep("javax.inject")) fatJarContents(commonDep("org.jline", "jline")) fatJarContents(commonDep("org.fusesource.jansi", "jansi")) diff --git a/prepare/compiler/build.gradle.kts.182 b/prepare/compiler/build.gradle.kts.182 index b64465505fe..19cf87a3e1f 100644 --- a/prepare/compiler/build.gradle.kts.182 +++ b/prepare/compiler/build.gradle.kts.182 @@ -71,7 +71,7 @@ dependencies { trove4jJar(intellijDep()) { includeIntellijCoreJarDependencies(project) { it.startsWith("trove4j") } } - fatJarContents(project(":core:builtins")) + fatJarContents(kotlinBuiltins()) fatJarContents(commonDep("javax.inject")) fatJarContents(commonDep("org.jline", "jline")) fatJarContents(commonDep("org.fusesource.jansi", "jansi")) diff --git a/prepare/compiler/build.gradle.kts.as34 b/prepare/compiler/build.gradle.kts.as34 index ca94ebc69a2..bbb75489191 100644 --- a/prepare/compiler/build.gradle.kts.as34 +++ b/prepare/compiler/build.gradle.kts.as34 @@ -71,7 +71,7 @@ dependencies { trove4jJar(intellijDep()) { includeIntellijCoreJarDependencies(project) { it.startsWith("trove4j") } } - fatJarContents(project(":core:builtins")) + fatJarContents(kotlinBuiltins()) fatJarContents(commonDep("javax.inject")) fatJarContents(commonDep("org.jline", "jline")) fatJarContents(commonDep("org.fusesource.jansi", "jansi")) diff --git a/prepare/idea-plugin/build.gradle.kts b/prepare/idea-plugin/build.gradle.kts index 3618fee91ec..1e8d945290b 100644 --- a/prepare/idea-plugin/build.gradle.kts +++ b/prepare/idea-plugin/build.gradle.kts @@ -78,7 +78,7 @@ val sideJars by configurations.creating dependencies { packedJars(protobufFull()) - packedJars(project(":core:builtins")) + packedJars(kotlinBuiltins()) sideJars(project(":kotlin-script-runtime")) sideJars(kotlinStdlib()) sideJars(kotlinStdlib("jdk7")) diff --git a/settings.gradle b/settings.gradle index a7175fb32b8..77dbf5329dc 100644 --- a/settings.gradle +++ b/settings.gradle @@ -73,7 +73,6 @@ include ":kotlin-build-common", ":core:descriptors.runtime", ":core:metadata", ":core:metadata.jvm", - ":core:builtins", ":core:util.runtime", ":dependencies:android-sdk", ":idea:fir-view", @@ -229,7 +228,8 @@ if (flags.inJpsBuildIdeaSync) { include ":kotlin-idl2k" project(':kotlin-idl2k').projectDir = file("$rootDir/libraries/tools/idl2k") - include ":kotlin-stdlib-common", + include ":core:builtins", + ":kotlin-stdlib-common", ":kotlin-stdlib", ":kotlin-stdlib-js", ":kotlin-stdlib-jdk7",