Skip to content

Commit 229e51a

Browse files
committed
Add javadoc and common sources publishing
Also get rid of "Default Kotlin Hierarchy Template was not applied" warning
1 parent 5d7e023 commit 229e51a

File tree

2 files changed

+32
-3
lines changed

2 files changed

+32
-3
lines changed

Diff for: build.gradle.kts

+30-2
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ tasks {
184184
}
185185

186186
val allMetadataJar by existing(Jar::class) {
187-
archiveClassifier.set("all")
187+
archiveClassifier.set("common")
188188
}
189189

190190
val javadocJar by creating(Jar::class) {
@@ -202,6 +202,21 @@ nexusPublishing {
202202
}
203203
}
204204

205+
configurations {
206+
create("javadocElements") {
207+
attributes {
208+
attribute(Category.CATEGORY_ATTRIBUTE, project.objects.named(Category::class.java, Category.DOCUMENTATION))
209+
attribute(Bundling.BUNDLING_ATTRIBUTE, project.objects.named(Bundling::class.java, Bundling.EXTERNAL))
210+
attribute(DocsType.DOCS_TYPE_ATTRIBUTE, project.objects.named(DocsType::class.java, DocsType.JAVADOC))
211+
attribute(Usage.USAGE_ATTRIBUTE, project.objects.named(Usage::class.java, Usage.JAVA_RUNTIME))
212+
}
213+
}
214+
}
215+
216+
artifacts {
217+
add("javadocElements", tasks.getByName("javadocJar"))
218+
}
219+
205220
publishing {
206221
val artifactBaseName = base.archivesName.get()
207222
configureMultiModuleMavenPublishing {
@@ -210,14 +225,27 @@ publishing {
210225
artifactId = artifactBaseName
211226
groupId = "org.jetbrains"
212227
configureKotlinPomAttributes(packaging = "jar")
213-
artifact(tasks.getByName("javadocJar"))
214228
}
215229
variant("metadataApiElements") { suppressPomMetadataWarnings() }
230+
variant("metadataSourcesElementsFromJvm") {
231+
name = "metadataSourcesElements"
232+
configuration {
233+
// to avoid clash in Gradle 8+ with metadataSourcesElements configuration with the same attributes
234+
isCanBeConsumed = false
235+
}
236+
attributes {
237+
copyAttributes(from = project.configurations["metadataSourcesElements"].attributes, to = this)
238+
}
239+
artifact(tasks["sourcesJar"]) {
240+
classifier = "sources-common"
241+
}
242+
}
216243
variant("jvmApiElements")
217244
variant("jvmRuntimeElements") {
218245
configureVariantDetails { mapToMavenScope("runtime") }
219246
}
220247
variant("jvmSourcesElements")
248+
variant("javadocElements")
221249
}
222250
val targetModules = kotlin.targets.filter { it.targetName != "jvm" && it.targetName != "metadata" }.map { target ->
223251
val targetName = target.targetName

Diff for: gradle.properties

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,5 @@ kotlin.code.style=official
1919
kotlin.mpp.stability.nowarn=true
2020
kotlin.stdlib.default.dependency=false
2121
kotlin.internal.mpp.createDefaultMultiplatformPublications=false
22-
kotlin.native.ignoreIncorrectDependencies=true
22+
kotlin.native.ignoreIncorrectDependencies=true
23+
kotlin.mpp.applyDefaultHierarchyTemplate=false

0 commit comments

Comments
 (0)