KPM: Fix JAR naming: put the platform name into appendix, not classifier

This commit is contained in:
Sergey Igushkin
2022-02-01 00:44:09 +04:00
committed by Space
parent c21123cec8
commit f5a400a0eb
2 changed files with 12 additions and 2 deletions
@@ -9,7 +9,7 @@ import org.gradle.api.artifacts.Dependency
import org.gradle.jvm.tasks.Jar
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.disambiguateName
import org.jetbrains.kotlin.gradle.tasks.locateOrRegisterTask
import org.jetbrains.kotlin.gradle.utils.dashSeparatedName
import org.jetbrains.kotlin.gradle.utils.dashSeparatedLowercaseName
/**
* Registers a [Jar] task with the variant's compilation outputs and attaches this artifact to the given configuration.
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.gradle.utils.dashSeparatedName
val KotlinFragmentCompilationOutputsJarArtifact = FragmentArtifacts<KotlinGradleVariant> {
val jar = project.locateOrRegisterTask<Jar>(fragment.outputsJarTaskName) {
it.from(fragment.compilationOutputs.allOutputs)
it.archiveClassifier.set(dashSeparatedName(fragment.name, fragment.containingModule.moduleClassifier))
it.archiveAppendix.set(dashSeparatedLowercaseName(fragment.name, fragment.containingModule.moduleClassifier))
}
artifact(jar)
fragment.project.artifacts.add(Dependency.ARCHIVES_CONFIGURATION, jar)
@@ -5,6 +5,8 @@
package org.jetbrains.kotlin.gradle.utils
import java.util.*
internal fun lowerCamelCaseName(vararg nameParts: String?): String {
val nonEmptyParts = nameParts.mapNotNull { it?.takeIf(String::isNotEmpty) }
return nonEmptyParts.drop(1).joinToString(
@@ -21,6 +23,14 @@ internal fun dashSeparatedName(vararg nameParts: String?): String {
return nonEmptyParts.joinToString(separator = "-")
}
internal fun dashSeparatedLowercaseName(nameParts: Iterable<String?>) =
dashSeparatedName(*nameParts.toList().toTypedArray())
internal fun dashSeparatedLowercaseName(vararg nameParts: String?): String {
val nonEmptyParts = nameParts.mapNotNull { it?.takeIf(String::isNotEmpty)?.toLowerCase(Locale.ENGLISH) }
return nonEmptyParts.joinToString(separator = "-")
}
internal fun String.decamelize(): String {
return replace(upperCaseRegex) {
val (first) = it.destructured