Skip to content

Commit 5519392

Browse files
committed
Fix how we create 'publishMavenArtifact' tasks
1 parent 177dff3 commit 5519392

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

gradle-conventions/src/main/kotlin/conventions-publishing.gradle.kts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import org.gradle.kotlin.dsl.registering
66
import util.*
7+
import util.other.capitalized
78
import util.other.getSensitiveProperty
89
import util.other.isPublicModule
910
import util.tasks.ValidatePublishedArtifactsTask
@@ -21,7 +22,23 @@ if (isPublicModule) {
2122
apply(plugin = "signing")
2223
}
2324

24-
the<PublishingExtension>().configurePublication()
25+
the<PublishingExtension>().apply {
26+
configurePublication()
27+
28+
project.withKotlinKmpExtension {
29+
// Remove then first Jvm Only public module is created
30+
val publishMavenPublication = "publishMavenPublication"
31+
repositories.all {
32+
val publishTaskName = "${publishMavenPublication}To${name.capitalized()}Repository"
33+
if (tasks.findByName(publishTaskName) == null) {
34+
tasks.register(publishTaskName) {
35+
group = PublishingPlugin.PUBLISH_TASK_GROUP
36+
}
37+
}
38+
}
39+
}
40+
}
41+
2542
logger.info("Configured ${project.name} for publication")
2643
} else {
2744
logger.info("Skipping ${project.name} publication configuration, not a public module")

gradle-conventions/src/main/kotlin/conventions-root.gradle.kts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
* Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license.
33
*/
44

5+
import util.other.capitalized
56
import util.other.isPublicModule
67
import util.other.libs
78
import util.other.maybeNamed
@@ -34,13 +35,6 @@ tasks.register<ValidatePublishedArtifactsTask>(ValidatePublishedArtifactsTask.NA
3435
dependsOn(subprojects.filter { it.isPublicModule })
3536
}
3637

37-
// Remove then first Jvm Only public module is created
38-
val publishMavenPublicationToBuildRepoRepository = "publishMavenPublicationToBuildRepoRepository"
39-
tasks.maybeNamed(publishMavenPublicationToBuildRepoRepository)
40-
?: tasks.register(publishMavenPublicationToBuildRepoRepository) {
41-
group = PublishingPlugin.PUBLISH_TASK_GROUP
42-
}
43-
4438
dokka {
4539
val libVersion = libs.versions.kotlinx.rpc.get()
4640

0 commit comments

Comments
 (0)