From 42a7c87e2e2f86a243253e0cf708006007f4c4a8 Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Mon, 18 Feb 2019 19:36:25 +0300 Subject: [PATCH] Setup conf2ScopeMappings for 'api' configuration with 'maven' plugin The 'java' plugin doesn't expect the 'api' configuration to exist (it is only introduced by the 'java-library' plugin) and doesn't map it to the compile scope when publishing with the legacy 'maven' plugin. This commit adds the missing conf2ScopeMapping for 'api' -> 'compile' --- .../org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt | 6 ++++++ 1 file changed, 6 insertions(+) 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) } }