@@ -184,7 +184,7 @@ tasks {
184
184
}
185
185
186
186
val allMetadataJar by existing(Jar ::class ) {
187
- archiveClassifier.set(" all " )
187
+ archiveClassifier.set(" common " )
188
188
}
189
189
190
190
val javadocJar by creating(Jar ::class ) {
@@ -202,6 +202,21 @@ nexusPublishing {
202
202
}
203
203
}
204
204
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
+
205
220
publishing {
206
221
val artifactBaseName = base.archivesName.get()
207
222
configureMultiModuleMavenPublishing {
@@ -210,14 +225,27 @@ publishing {
210
225
artifactId = artifactBaseName
211
226
groupId = " org.jetbrains"
212
227
configureKotlinPomAttributes(packaging = " jar" )
213
- artifact(tasks.getByName(" javadocJar" ))
214
228
}
215
229
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
+ }
216
243
variant(" jvmApiElements" )
217
244
variant(" jvmRuntimeElements" ) {
218
245
configureVariantDetails { mapToMavenScope(" runtime" ) }
219
246
}
220
247
variant(" jvmSourcesElements" )
248
+ variant(" javadocElements" )
221
249
}
222
250
val targetModules = kotlin.targets.filter { it.targetName != " jvm" && it.targetName != " metadata" }.map { target ->
223
251
val targetName = target.targetName
0 commit comments