diff --git a/buildSrc/src/main/kotlin/artifacts.kt b/buildSrc/src/main/kotlin/artifacts.kt index 0e090360891..97f69be42e0 100644 --- a/buildSrc/src/main/kotlin/artifacts.kt +++ b/buildSrc/src/main/kotlin/artifacts.kt @@ -1,14 +1,12 @@ @file:Suppress("unused") // usages in build scripts are not tracked properly import org.gradle.api.* -import org.gradle.api.artifacts.ConfigurablePublishArtifact +import org.gradle.api.artifacts.* import org.gradle.api.tasks.* import org.gradle.kotlin.dsl.* -import org.gradle.api.artifacts.Configuration -import org.gradle.api.artifacts.ConfigurationContainer -import org.gradle.api.artifacts.Dependency import org.gradle.api.file.DuplicatesStrategy import org.gradle.api.file.FileCollection +import org.gradle.api.internal.artifacts.publish.ArchivePublishArtifact import org.gradle.api.plugins.BasePluginConvention import org.gradle.api.plugins.JavaPluginConvention import org.gradle.api.tasks.javadoc.Javadoc @@ -63,6 +61,9 @@ fun Project.runtimeJarArtifactBy(task: Task, artifactRef: T, body: Configurab fun Project.runtimeJar(task: T, body: T.() -> Unit = {}): T { extra["runtimeJarTask"] = task + tasks.findByName("jar")?.let { defaultJarTask -> + configurations.getOrCreate("archives").artifacts.removeAll { (it as? ArchivePublishArtifact)?.archiveTask?.let { it == defaultJarTask } ?: false } + } return task.apply { setupPublicJar() duplicatesStrategy = DuplicatesStrategy.EXCLUDE @@ -131,7 +132,7 @@ fun Project.ideaPlugin(subdir: String = "lib", body: AbstractCopyTask.() -> Unit task("idea-plugin") { dependsOn(pluginTask) -} + } return pluginTask }