Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changes/2ec4ad9a-f964-4cf1-be58-d0229493bb81.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"id": "2ec4ad9a-f964-4cf1-be58-d0229493bb81",
"type": "feature",
"description": "Upgrade to Kotlin 2.2.0"
}
3 changes: 0 additions & 3 deletions bom/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMetadataTarget
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
import java.util.*

plugins {
`maven-publish`
Expand Down Expand Up @@ -52,7 +50,6 @@ fun createBomConstraintsAndVersionCatalog() {

fun Project.artifactId(target: KotlinTarget): String = when (target) {
is KotlinMetadataTarget -> name
is KotlinJsTarget -> "$name-js"
else -> "$name-${target.targetName.lowercase()}"
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ private fun getDefaultRuntimeVersion(): String {
// publishing info
const val RUNTIME_GROUP: String = "aws.smithy.kotlin"
val RUNTIME_VERSION: String = System.getProperty("smithy.kotlin.codegen.clientRuntimeVersion", getDefaultRuntimeVersion())
val KOTLIN_COMPILER_VERSION: String = System.getProperty("smithy.kotlin.codegen.kotlinCompilerVersion", "2.1.0")
val KOTLIN_COMPILER_VERSION: String = System.getProperty("smithy.kotlin.codegen.kotlinCompilerVersion", "2.2.0")

enum class SourceSet {
CommonMain,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ package software.amazon.smithy.kotlin.codegen.rendering

import software.amazon.smithy.build.FileManifest
import software.amazon.smithy.kotlin.codegen.KotlinSettings
import software.amazon.smithy.kotlin.codegen.core.*
import software.amazon.smithy.kotlin.codegen.core.InlineCodeWriter
import software.amazon.smithy.kotlin.codegen.core.InlineCodeWriterFormatter
import software.amazon.smithy.kotlin.codegen.core.KOTLIN_COMPILER_VERSION
import software.amazon.smithy.kotlin.codegen.core.KotlinDependency
import software.amazon.smithy.utils.AbstractCodeWriter

// Determines the jvmTarget version emitted to the build file
Expand Down Expand Up @@ -134,7 +137,7 @@ fun renderRootJvmPluginConfig(writer: GradleWriter) {
"""
jvm {
compilations.all {
kotlinOptions.jvmTarget = #S
compilerOptions.jvmTarget = #S
}
testRuns["test"].executionTask.configure {
useJUnitPlatform()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import org.junit.jupiter.params.provider.Arguments
import org.junit.jupiter.params.provider.ArgumentsProvider
import org.junit.jupiter.params.provider.ArgumentsSource
import org.junit.jupiter.params.provider.CsvSource
import org.junit.jupiter.params.support.ParameterDeclarations
import software.amazon.smithy.codegen.core.CodegenException
import software.amazon.smithy.kotlin.codegen.test.TestModelDefault
import software.amazon.smithy.kotlin.codegen.test.toSmithyModel
Expand Down Expand Up @@ -392,7 +393,10 @@ class TestProtocolSelectionArgumentProvider : ArgumentsProvider {
private const val NO_CBOR = "awsJson1_0, awsJson1_1, restJson1, restXml, awsQuery, ec2Query"
}

override fun provideArguments(context: ExtensionContext?): Stream<out Arguments> = Stream.of(
override fun provideArguments(
parameters: ParameterDeclarations?,
context: ExtensionContext?,
): Stream<out Arguments> = Stream.of(
Arguments.of(
ALL_PROTOCOLS,
"rpcv2Cbor, awsJson1_0",
Expand Down
12 changes: 6 additions & 6 deletions gradle/libs.versions.toml
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we upgrade more of our dependencies? okio, opentelemetry, smithy, etc.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I intentionally didn't update everything to limit the scope of the PR. We typically update okio, OpenTelemetry, Smithy, and virtually all of our other dependencies without waiting for a minor version bump.

Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
[versions]
kotlin-version = "2.1.0"
kotlin-version = "2.2.0"
dokka-version = "2.0.0"

aws-kotlin-repo-tools-version = "0.4.31"

# libs
coroutines-version = "1.9.0"
atomicfu-version = "0.25.0"
coroutines-version = "1.10.2"
atomicfu-version = "0.29.0"
okhttp-version = "5.0.0-alpha.14"
okhttp4-version = "4.12.0"
okio-version = "3.9.1"
otel-version = "1.45.0"
slf4j-version = "2.0.16"
slf4j-v1x-version = "1.7.36"
crt-kotlin-version = "0.9.1"
crt-kotlin-version = "0.9.2"
micrometer-version = "1.14.2"
binary-compatibility-validator-version = "0.16.3"
binary-compatibility-validator-version = "0.18.0"

smithy-version = "1.60.2"

# testing
junit-version = "5.10.5"
junit-version = "5.13.2"
kotest-version = "5.9.1"
kotlin-compile-testing-version = "0.7.0"
kotlinx-benchmark-version = "0.4.12"
Expand Down
9 changes: 2 additions & 7 deletions runtime/auth/aws-credentials/api/aws-credentials.api
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,16 @@ public abstract interface class aws/smithy/kotlin/runtime/auth/awscredentials/Cl
public abstract interface class aws/smithy/kotlin/runtime/auth/awscredentials/Credentials : aws/smithy/kotlin/runtime/identity/Identity {
public static final field Companion Laws/smithy/kotlin/runtime/auth/awscredentials/Credentials$Companion;
public abstract fun getAccessKeyId ()Ljava/lang/String;
public abstract fun getProviderName ()Ljava/lang/String;
public fun getProviderName ()Ljava/lang/String;
public abstract fun getSecretAccessKey ()Ljava/lang/String;
public abstract fun getSessionToken ()Ljava/lang/String;
public fun getSessionToken ()Ljava/lang/String;
}

public final class aws/smithy/kotlin/runtime/auth/awscredentials/Credentials$Companion {
public final fun invoke (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Laws/smithy/kotlin/runtime/time/Instant;Ljava/lang/String;Laws/smithy/kotlin/runtime/collections/Attributes;)Laws/smithy/kotlin/runtime/auth/awscredentials/Credentials;
public static synthetic fun invoke$default (Laws/smithy/kotlin/runtime/auth/awscredentials/Credentials$Companion;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Laws/smithy/kotlin/runtime/time/Instant;Ljava/lang/String;Laws/smithy/kotlin/runtime/collections/Attributes;ILjava/lang/Object;)Laws/smithy/kotlin/runtime/auth/awscredentials/Credentials;
}

public final class aws/smithy/kotlin/runtime/auth/awscredentials/Credentials$DefaultImpls {
public static fun getProviderName (Laws/smithy/kotlin/runtime/auth/awscredentials/Credentials;)Ljava/lang/String;
public static fun getSessionToken (Laws/smithy/kotlin/runtime/auth/awscredentials/Credentials;)Ljava/lang/String;
}

public final class aws/smithy/kotlin/runtime/auth/awscredentials/CredentialsKt {
public static final fun copy (Laws/smithy/kotlin/runtime/auth/awscredentials/Credentials;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Laws/smithy/kotlin/runtime/time/Instant;Ljava/lang/String;Laws/smithy/kotlin/runtime/collections/Attributes;)Laws/smithy/kotlin/runtime/auth/awscredentials/Credentials;
public static synthetic fun copy$default (Laws/smithy/kotlin/runtime/auth/awscredentials/Credentials;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Laws/smithy/kotlin/runtime/time/Instant;Ljava/lang/String;Laws/smithy/kotlin/runtime/collections/Attributes;ILjava/lang/Object;)Laws/smithy/kotlin/runtime/auth/awscredentials/Credentials;
Expand Down
2 changes: 1 addition & 1 deletion runtime/auth/aws-signing-tests/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ kotlin {
api(project(":runtime:auth:http-auth-aws"))
implementation(libs.kotlin.test)
implementation(libs.kotlinx.coroutines.test)
implementation(libs.junit.jupiter.params)
}
}

Expand All @@ -28,6 +27,7 @@ kotlin {
implementation(libs.ktor.http.cio)
implementation(libs.ktor.utils)
implementation(libs.kotlin.test.junit5)
implementation(libs.junit.jupiter.params)
implementation(libs.kotlinx.serialization.json)
}
}
Expand Down
6 changes: 1 addition & 5 deletions runtime/auth/http-auth-api/api/http-auth-api.api
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
public abstract interface class aws/smithy/kotlin/runtime/http/auth/AuthScheme {
public abstract fun getSchemeId-DepwgT4 ()Ljava/lang/String;
public abstract fun getSigner ()Laws/smithy/kotlin/runtime/http/auth/HttpSigner;
public abstract fun identityProvider (Laws/smithy/kotlin/runtime/identity/IdentityProviderConfig;)Laws/smithy/kotlin/runtime/identity/IdentityProvider;
}

public final class aws/smithy/kotlin/runtime/http/auth/AuthScheme$DefaultImpls {
public static fun identityProvider (Laws/smithy/kotlin/runtime/http/auth/AuthScheme;Laws/smithy/kotlin/runtime/identity/IdentityProviderConfig;)Laws/smithy/kotlin/runtime/identity/IdentityProvider;
public fun identityProvider (Laws/smithy/kotlin/runtime/identity/IdentityProviderConfig;)Laws/smithy/kotlin/runtime/identity/IdentityProvider;
}

public abstract interface class aws/smithy/kotlin/runtime/http/auth/HttpAuthConfig {
Expand Down
1 change: 0 additions & 1 deletion runtime/auth/http-auth-aws/api/http-auth-aws.api
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ public final class aws/smithy/kotlin/runtime/http/auth/SigV4AuthScheme : aws/smi
public fun getSchemeId-DepwgT4 ()Ljava/lang/String;
public fun getSigner ()Laws/smithy/kotlin/runtime/http/auth/AwsHttpSigner;
public synthetic fun getSigner ()Laws/smithy/kotlin/runtime/http/auth/HttpSigner;
public fun identityProvider (Laws/smithy/kotlin/runtime/identity/IdentityProviderConfig;)Laws/smithy/kotlin/runtime/identity/IdentityProvider;
}

public final class aws/smithy/kotlin/runtime/http/auth/SigV4AuthSchemeKt {
Expand Down
1 change: 0 additions & 1 deletion runtime/auth/http-auth/api/http-auth.api
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ public final class aws/smithy/kotlin/runtime/http/auth/BearerTokenAuthScheme : a
public fun <init> ()V
public fun getSchemeId-DepwgT4 ()Ljava/lang/String;
public fun getSigner ()Laws/smithy/kotlin/runtime/http/auth/HttpSigner;
public fun identityProvider (Laws/smithy/kotlin/runtime/identity/IdentityProviderConfig;)Laws/smithy/kotlin/runtime/identity/IdentityProvider;
}

public abstract interface class aws/smithy/kotlin/runtime/http/auth/BearerTokenProvider : aws/smithy/kotlin/runtime/identity/IdentityProvider {
Expand Down
3 changes: 0 additions & 3 deletions runtime/auth/identity-api/api/identity-api.api
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,6 @@ public final class aws/smithy/kotlin/runtime/identity/IdentityAttributesKt {

public abstract interface class aws/smithy/kotlin/runtime/identity/IdentityProvider {
public abstract fun resolve (Laws/smithy/kotlin/runtime/collections/Attributes;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class aws/smithy/kotlin/runtime/identity/IdentityProvider$DefaultImpls {
public static synthetic fun resolve$default (Laws/smithy/kotlin/runtime/identity/IdentityProvider;Laws/smithy/kotlin/runtime/collections/Attributes;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
}

Expand Down
3 changes: 2 additions & 1 deletion runtime/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
*/
import aws.sdk.kotlin.gradle.dsl.configurePublishing
import aws.sdk.kotlin.gradle.kmp.*
import org.gradle.kotlin.dsl.apply
import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
Expand Down Expand Up @@ -67,8 +66,10 @@ subprojects {
jvmTarget.set(JvmTarget.JVM_1_8)
freeCompilerArgs.add("-Xjdk-release=1.8")
freeCompilerArgs.add("-Xexpect-actual-classes")
freeCompilerArgs.add("-jvm-default=no-compatibility") // https://youtrack.jetbrains.com/issue/KT-77376
}
}

tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile> {
compilerOptions {
freeCompilerArgs.add("-Xexpect-actual-classes")
Expand Down
Loading
Loading