diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/AbstractKotlinTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/AbstractKotlinTarget.kt index 792a1065ec2..93782e236d7 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/AbstractKotlinTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/AbstractKotlinTarget.kt @@ -133,11 +133,13 @@ abstract class AbstractKotlinTarget( classifierPrefix: String? = null, sourcesElementsConfigurationName: String = this.sourcesElementsConfigurationName, ): PublishArtifact? { + val sourcesJarTask = sourcesJarTask(producingCompilation, componentName, artifactNameAppendix) + // If sourcesElements configuration not found, don't create artifact. - // This can happen in pure JVM plugin where source publication is delegated to Java Gradle Plugin + // This can happen in pure JVM plugin where source publication is delegated to Java Gradle Plugin. + // But we still want to have sourcesJarTask be registered project.configurations.findByName(sourcesElementsConfigurationName) ?: return null - val sourcesJarTask = sourcesJarTask(producingCompilation, componentName, artifactNameAppendix) val artifact = project.artifacts.add(sourcesElementsConfigurationName, sourcesJarTask) as ConfigurablePublishArtifact artifact.classifier = dashSeparatedName(classifierPrefix, "sources") return artifact