diff --git a/buildSrc/src/main/kotlin/plugins/PublishedKotlinModule.kt b/buildSrc/src/main/kotlin/plugins/PublishedKotlinModule.kt index 8b34a14ff49..6221d0cd9ce 100644 --- a/buildSrc/src/main/kotlin/plugins/PublishedKotlinModule.kt +++ b/buildSrc/src/main/kotlin/plugins/PublishedKotlinModule.kt @@ -4,9 +4,10 @@ import org.codehaus.groovy.runtime.InvokerHelper import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.artifacts.Dependency +import org.gradle.api.artifacts.maven.Conf2ScopeMappingContainer import org.gradle.api.artifacts.maven.MavenDeployment import org.gradle.api.artifacts.maven.MavenResolver - +import org.gradle.api.plugins.MavenPluginConvention import org.gradle.api.plugins.MavenRepositoryHandlerConvention import org.gradle.api.publication.maven.internal.deployer.MavenRemoteRepository import org.gradle.api.tasks.Upload @@ -30,6 +31,12 @@ open class PublishedKotlinModule : Plugin { plugins.apply("maven") + val publishedRuntime by configurations.creating { + the() + .conf2ScopeMappings + .addMapping(0, this, Conf2ScopeMappingContainer.RUNTIME) + } + if (!project.hasProperty("prebuiltJar")) { plugins.apply("signing") diff --git a/buildSrc/src/main/kotlin/publish.kt b/buildSrc/src/main/kotlin/publish.kt new file mode 100644 index 00000000000..9386337f74e --- /dev/null +++ b/buildSrc/src/main/kotlin/publish.kt @@ -0,0 +1,25 @@ +import org.gradle.api.Action +import org.gradle.api.NamedDomainObjectContainer +import org.gradle.api.NamedDomainObjectProvider +import org.gradle.api.artifacts.Configuration +import org.gradle.api.artifacts.Dependency +import org.gradle.api.artifacts.ExternalModuleDependency +import org.gradle.api.artifacts.dsl.DependencyHandler +import org.gradle.kotlin.dsl.accessors.runtime.addDependencyTo + +/* + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +val NamedDomainObjectContainer.publishedRuntime: NamedDomainObjectProvider get() = named("publishedRuntime") + +fun DependencyHandler.publishedRuntime(dependencyNotation: Any): Dependency? = + add("publishedRuntime", dependencyNotation) + +fun DependencyHandler.publishedRuntime( + dependencyNotation: String, + dependencyConfiguration: Action +): ExternalModuleDependency = + addDependencyTo(this, "publishedRuntime", dependencyNotation, dependencyConfiguration) + diff --git a/libraries/scripting/jsr223/build.gradle.kts b/libraries/scripting/jsr223/build.gradle.kts index 431bae42f45..15515b01f39 100644 --- a/libraries/scripting/jsr223/build.gradle.kts +++ b/libraries/scripting/jsr223/build.gradle.kts @@ -5,6 +5,8 @@ plugins { jvmTarget = "1.6" +publish() + dependencies { compile(project(":kotlin-script-runtime")) compile(kotlinStdlib()) @@ -15,6 +17,8 @@ dependencies { compileOnly(project(":compiler:cli-common")) compileOnly(project(":kotlin-reflect-api")) compileOnly(intellijCoreDep()) + publishedRuntime(project(":kotlin-compiler")) + publishedRuntime(project(":kotlin-reflect")) } sourceSets { @@ -22,8 +26,6 @@ sourceSets { "test" {} } -publish() - standardPublicJars() projectTest(parallel = true) diff --git a/libraries/scripting/jvm-host/build.gradle.kts b/libraries/scripting/jvm-host/build.gradle.kts index 0845e450b42..97d44500d11 100644 --- a/libraries/scripting/jvm-host/build.gradle.kts +++ b/libraries/scripting/jvm-host/build.gradle.kts @@ -6,6 +6,8 @@ plugins { jvmTarget = "1.6" +publish() + dependencies { compile(project(":kotlin-script-runtime")) compile(kotlinStdlib()) @@ -15,6 +17,10 @@ dependencies { compileOnly(project(":compiler:cli")) compileOnly(project(":kotlin-reflect-api")) compileOnly(intellijCoreDep()) { includeJars("intellij-core") } + publishedRuntime(project(":kotlin-compiler")) + publishedRuntime(project(":kotlin-scripting-compiler")) + publishedRuntime(project(":kotlin-reflect")) + publishedRuntime(commonDep("org.jetbrains.intellij.deps", "trove4j")) } sourceSets { @@ -22,7 +28,5 @@ sourceSets { "test" {} } -publish() - standardPublicJars()