Skip to content

Commit 081a0d8

Browse files
authored
Upgrade to Kotlin 1.9.21 (#4005)
1 parent c6f7161 commit 081a0d8

File tree

7 files changed

+59
-22
lines changed

7 files changed

+59
-22
lines changed

build.gradle.kts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,13 @@ allprojects {
2727
mavenCentral()
2828
gradlePluginPortal()
2929
}
30+
31+
configurations.all {
32+
resolutionStrategy {
33+
failOnDynamicVersions()
34+
failOnChangingVersions()
35+
}
36+
}
3037
}
3138

3239
val generateChangeLog = tasks.register<GenerateGithubChangeLog>("generateChangeLog") {

buildSrc/settings.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ dependencyResolutionManagement {
2727
versionCatalogs {
2828
create("libs") {
2929
from(files("../gradle/libs.versions.toml"))
30+
31+
apply(from = "../kotlinResolution.settings.gradle.kts")
3032
}
3133
}
3234

buildSrc/src/main/kotlin/software/aws/toolkits/gradle/BuildScriptUtils.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,16 @@ fun Project.ciOnly(block: () -> Unit) {
2323
fun Project.isCi() : Boolean = providers.environmentVariable("CI").isPresent
2424

2525
fun Project.jvmTarget(): Provider<JavaVersion> = withCurrentProfileName {
26-
when (it) {
27-
"2021.3", "2022.2" -> JavaVersion.VERSION_11
28-
else -> JavaVersion.VERSION_17
29-
}
26+
JavaVersion.VERSION_17
3027
}
3128

3229
// https://plugins.jetbrains.com/docs/intellij/using-kotlin.html#other-bundled-kotlin-libraries
3330
fun Project.kotlinTarget(): Provider<String> = withCurrentProfileName {
3431
when (it) {
35-
"2021.3" -> KotlinVersionEnum.KOTLIN_1_5
36-
"2022.2" -> KotlinVersionEnum.KOTLIN_1_6
3732
"2022.3" -> KotlinVersionEnum.KOTLIN_1_7
38-
else -> KotlinVersionEnum.KOTLIN_1_8
33+
"2023.1", "2023.2" -> KotlinVersionEnum.KOTLIN_1_8
34+
"2023.3" -> KotlinVersionEnum.KOTLIN_1_9
35+
else -> error("not set")
3936
}.version
4037
}
4138

gradle/libs.versions.toml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@ junit4 = "4.13.2"
1414
junit5 = "5.10.1"
1515
# https://plugins.jetbrains.com/docs/intellij/kotlin.html#adding-kotlin-support
1616
# https://kotlinlang.org/docs/releases.html#release-details
17-
kotlin = "1.8.10"
18-
# potentially overridden in <root>/settings.gradle.kts
19-
kotlinCoroutines = "1.6.4"
20-
mockito = "5.8.0"
21-
mockitoKotlin = "5.2.1"
17+
kotlin = "1.9.21"
18+
# set in <root>/settings.gradle.kts
19+
kotlinCoroutines = "1.7.3"
20+
mockito = "4.6.1"
21+
mockitoKotlin = "4.0.0"
2222
mockk = "1.13.8"
23+
node-gradle = "7.0.1"
2324
telemetryGenerator = "1.0.171"
2425
testLogger = "3.1.0"
2526
testRetry = "1.5.2"
@@ -106,4 +107,5 @@ mockito = ["mockito-core", "mockito-kotlin"]
106107
sshd = ["sshd-core", "sshd-scp", "sshd-sftp"]
107108

108109
[plugins]
109-
node-gradle = { id = "com.github.node-gradle.node", version = "7.0.1" }
110+
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
111+
node-gradle = { id = "com.github.node-gradle.node", version.ref = "node-gradle" }

jetbrains-gateway/build.gradle.kts

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,10 @@ artifacts {
9191
add(gatewayResources.name, gatewayResourcesDir)
9292
}
9393

94+
tasks.jar {
95+
duplicatesStrategy = DuplicatesStrategy.WARN
96+
}
97+
9498
tasks.withType<PrepareSandboxTask>().all {
9599
from(gatewayResourcesDir) {
96100
into("aws-toolkit-jetbrains/gateway-resources")
@@ -122,12 +126,3 @@ tasks.integrationTest {
122126
val testToken = RandomString.make(32)
123127
environment("CWM_HOST_STATUS_OVER_HTTP_TOKEN", testToken)
124128
}
125-
126-
tasks.inspectClassesForKotlinIC {
127-
// > Task :jetbrains-gateway:inspectClassesForKotlinIC FAILED
128-
// * What went wrong:
129-
// Execution failed for task ':jetbrains-gateway:inspectClassesForKotlinIC'.
130-
// > Cannot access input property 'sourceSetOutputClassesDir$kotlin_gradle_plugin_common' of task ':jetbrains-gateway:inspectClassesForKotlinIC'. Accessing unreadable inputs or outputs is not supported. Declare the task as untracked by using Task.doNotTrackState(). See https://docs.gradle.org/8.0.2/userguide/incremental_build.html#disable-state-tracking for more details.
131-
// > Failed to normalize content of 'C:\codebuild\tmp\output\src284282039\src\github.com\aws\aws-toolkit-jetbrains\jetbrains-gateway\build\classes\kotlin\main\classpath.index'.
132-
enabled = false
133-
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Copyright 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
dependencyResolutionManagement {
5+
versionCatalogs {
6+
maybeCreate("libs").apply {
7+
// pull value from IJ library list: https://github.com/JetBrains/intellij-community/blob/<mv>/.idea/libraries/kotlinx_coroutines_jdk8.xml
8+
// or: https://github.com/JetBrains/intellij-community/blob/<mv>/.idea/libraries/kotlinx_coroutines_core.xml
9+
val version = when (providers.gradleProperty("ideProfileName").get()) {
10+
"2022.3" -> {
11+
// binary compat issue in tests, but detekt requries at least kotlin 1.8
12+
version("kotlin", "1.8.20")
13+
"1.6.4"
14+
}
15+
"2023.1" -> {
16+
"1.6.4"
17+
}
18+
19+
"2023.2" -> {
20+
"1.7.1"
21+
}
22+
23+
"2023.3" -> {
24+
"1.7.3"
25+
}
26+
else -> { error("not set") }
27+
}
28+
29+
version("kotlinxCoroutines", version)
30+
}
31+
}
32+
}

settings.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ when (providers.gradleProperty("ideProfileName").get()) {
4242
}
4343
}
4444

45+
apply(from = "kotlinResolution.settings.gradle.kts")
46+
4547
include("jetbrains-ultimate")
4648
include("jetbrains-rider")
4749
include("intellij")

0 commit comments

Comments
 (0)