diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index e778c0cf7ae..0275182e962 100755 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -7,6 +7,7 @@ import groovy.lang.Closure import org.gradle.api.* import org.gradle.api.artifacts.ExternalDependency import org.gradle.api.artifacts.MutableVersionConstraint +import org.gradle.api.artifacts.maven.Conf2ScopeMappingContainer import org.gradle.api.artifacts.maven.MavenResolver import org.gradle.api.attributes.Usage import org.gradle.api.file.FileCollection @@ -16,6 +17,7 @@ import org.gradle.api.logging.Logging import org.gradle.api.plugins.InvalidPluginException import org.gradle.api.plugins.JavaPlugin import org.gradle.api.plugins.JavaPluginConvention +import org.gradle.api.plugins.MavenPluginConvention import org.gradle.api.publish.PublishingExtension import org.gradle.api.publish.maven.MavenPublication import org.gradle.api.tasks.CompileClasspathNormalizer @@ -383,6 +385,10 @@ internal abstract class AbstractKotlinPlugin( } } } + + // Setup conf2ScopeMappings so that the API dependencies are wriiten with the compile scope in the POMs in case of 'java' plugin + project.convention.getPlugin(MavenPluginConvention::class.java) + .conf2ScopeMappings.addMapping(0, project.configurations.getByName("api"), Conf2ScopeMappingContainer.COMPILE) } }