diff --git a/buildSrc/src/main/kotlin/smithy-rs.kotlin-conventions.gradle.kts b/buildSrc/src/main/kotlin/smithy-rs.kotlin-conventions.gradle.kts index 9211b2f034..c45773459a 100644 --- a/buildSrc/src/main/kotlin/smithy-rs.kotlin-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/smithy-rs.kotlin-conventions.gradle.kts @@ -9,6 +9,17 @@ plugins { // Workaround per: https://github.com/gradle/gradle/issues/15383 val Project.libs get() = the() +// Ensure Kotlin stdlib dependencies have explicit versions in published POMs +configurations.all { + resolutionStrategy { + eachDependency { + if (requested.group == "org.jetbrains.kotlin" && requested.name.startsWith("kotlin-stdlib")) { + useVersion(libs.versions.kotlin.version.get()) + } + } + } +} + java { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 diff --git a/buildSrc/src/main/kotlin/smithy-rs.publishing-conventions.gradle.kts b/buildSrc/src/main/kotlin/smithy-rs.publishing-conventions.gradle.kts index ea92236e33..8553e3ce87 100644 --- a/buildSrc/src/main/kotlin/smithy-rs.publishing-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/smithy-rs.publishing-conventions.gradle.kts @@ -2,6 +2,8 @@ plugins { `maven-publish` signing } + +val Project.libs get() = the() // FIXME(publishing): create a real "javadoc" JAR from Dokka output val javadocJar = tasks.register("emptyJar") { archiveClassifier.set("javadoc") @@ -15,6 +17,16 @@ publishing { from(components["java"]) artifact(javadocJar) + // Fix Kotlin stdlib version in published POM + versionMapping { + usage("java-api") { + fromResolutionOf("runtimeClasspath") + } + usage("java-runtime") { + fromResolutionResult() + } + } + afterEvaluate { pom { name.set(project.ext["displayName"].toString())