Skip to content

Commit 4b9d7d6

Browse files
authored
misc: Upgrade to Kotlin 2.1.0 (#59)
1 parent 2090268 commit 4b9d7d6

File tree

13 files changed

+39
-56
lines changed

13 files changed

+39
-56
lines changed

build-plugins/build-support/src/main/kotlin/aws/sdk/kotlin/gradle/plugins/artifactsizemetrics/AnalyzeArtifactSizeMetrics.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,7 @@ internal abstract class AnalyzeArtifactSizeMetrics : DefaultTask() {
174174
if (artifactOrdinaryChange) appendLine(ordinary)
175175
}
176176

177-
private fun ArtifactSizeMetric.requiresAttention() =
178-
this.percentage > pluginConfig.significantChangeThresholdPercentage || this.percentage.isNaN()
177+
private fun ArtifactSizeMetric.requiresAttention() = this.percentage > pluginConfig.significantChangeThresholdPercentage || this.percentage.isNaN()
179178

180179
private data class ArtifactSizeMetric(
181180
val currentSize: Long,

build-plugins/build-support/src/main/kotlin/aws/sdk/kotlin/gradle/plugins/artifactsizemetrics/ArtifactSizeMetricsPlugin.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,11 @@ class ArtifactSizeMetricsPlugin : Plugin<Project> {
3838
}
3939
}
4040

41-
private fun Project.subprojectArtifactSizeMetricsTask(): TaskProvider<CollectArtifactSizeMetrics> =
42-
tasks.register<CollectArtifactSizeMetrics>("artifactSizeMetrics") {
43-
group = TASK_GROUP
44-
onlyIf { tasks.findByName("jvmJar") != null }
45-
dependsOn(tasks.withType<Jar>())
46-
}
41+
private fun Project.subprojectArtifactSizeMetricsTask(): TaskProvider<CollectArtifactSizeMetrics> = tasks.register<CollectArtifactSizeMetrics>("artifactSizeMetrics") {
42+
group = TASK_GROUP
43+
onlyIf { tasks.findByName("jvmJar") != null }
44+
dependsOn(tasks.withType<Jar>())
45+
}
4746

4847
private fun Project.registerRootProjectArtifactSizeMetricsTask(
4948
subProjects: List<TaskProvider<CollectArtifactSizeMetrics>>,

build-plugins/build-support/src/main/kotlin/aws/sdk/kotlin/gradle/plugins/artifactsizemetrics/CollectDelegatedArtifactSizeMetrics.kt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,12 @@ internal abstract class CollectDelegatedArtifactSizeMetrics : DefaultTask() {
6767
}
6868
}
6969

70-
private suspend fun S3Client.getObjectAsText(objectKey: String) =
71-
getObject(
72-
GetObjectRequest {
73-
bucket = S3_ARTIFACT_SIZE_METRICS_BUCKET
74-
key = objectKey
75-
},
76-
) { it.body?.decodeToString() ?: throw AwsSdkGradleException("Metrics file $objectKey is missing a body") }
70+
private suspend fun S3Client.getObjectAsText(objectKey: String) = getObject(
71+
GetObjectRequest {
72+
bucket = S3_ARTIFACT_SIZE_METRICS_BUCKET
73+
key = objectKey
74+
},
75+
) { it.body?.decodeToString() ?: throw AwsSdkGradleException("Metrics file $objectKey is missing a body") }
7776

7877
private fun combine(metricsFiles: List<String>) = buildString {
7978
appendLine("Artifact, Size")

build-plugins/build-support/src/main/kotlin/aws/sdk/kotlin/gradle/plugins/artifactsizemetrics/PutArtifactSizeMetricsInCloudWatch.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*/
55
package aws.sdk.kotlin.gradle.plugins.artifactsizemetrics
66

7-
import aws.sdk.kotlin.gradle.util.stringPropertyNotNull
87
import aws.sdk.kotlin.services.cloudwatch.CloudWatchClient
98
import aws.sdk.kotlin.services.cloudwatch.model.Dimension
109
import aws.sdk.kotlin.services.cloudwatch.model.MetricDatum
@@ -36,7 +35,6 @@ internal abstract class PutArtifactSizeMetricsInCloudWatch : DefaultTask() {
3635
fun put() {
3736
val currentTime = Instant.now()
3837
val pluginConfig = project.rootProject.extensions.getByType(ArtifactSizeMetricsPluginConfig::class.java)
39-
val releaseTag = project.stringPropertyNotNull("release")
4038

4139
val metrics = metricsFile
4240
.get()

build-plugins/build-support/src/main/kotlin/aws/sdk/kotlin/gradle/util/ProjectExt.kt

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ public fun Project.localProperties(): Map<String, Any> {
4545
* * property from extras
4646
* @return property if it exists or null
4747
*/
48-
public fun Project.prop(name: String): Any? =
49-
properties[name] ?: localProperties()[name] ?: extra.getOrNull(name)
48+
public fun Project.prop(name: String): Any? = properties[name] ?: localProperties()[name] ?: extra.getOrNull(name)
5049

5150
inline fun <reified T> Project.typedProp(name: String): T? {
5251
val any = prop(name)
@@ -70,9 +69,8 @@ public inline fun Project.verifyRootProject(lazyMessage: () -> Any) {
7069
* @throws AwsSdkGradleException If the property is empty or null
7170
* @return The property as a String
7271
*/
73-
fun Project.stringPropertyNotNull(property: String): String =
74-
findProperty(property)?.toString()?.also {
75-
check(it.isNotEmpty()) { "The $property property is set to empty \"-P$property=\" (no value set). Please specify a value." }
76-
} ?: throw AwsSdkGradleException("The $property property is not set. Please set a value: \"-P$property=YOUR_VALUE\"")
72+
fun Project.stringPropertyNotNull(property: String): String = findProperty(property)?.toString()?.also {
73+
check(it.isNotEmpty()) { "The $property property is set to empty \"-P$property=\" (no value set). Please specify a value." }
74+
} ?: throw AwsSdkGradleException("The $property property is not set. Please set a value: \"-P$property=YOUR_VALUE\"")
7775

7876
class AwsSdkGradleException(message: String) : GradleException(message)

build-plugins/kmp-conventions/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ repositories {
1818

1919
dependencies {
2020
implementation(project(":build-plugins:build-support"))
21-
compileOnly(kotlin("gradle-plugin", "2.0.10"))
21+
compileOnly(kotlin("gradle-plugin", "2.1.0"))
2222
testImplementation(libs.junit.jupiter)
2323
}
2424

build-plugins/smithy-build/src/main/kotlin/aws/sdk/kotlin/gradle/codegen/SmithyBuildExtension.kt

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,13 @@ open class SmithyBuildExtension(private val project: Project) {
2525
* @param projectionName the name of the projection to get the output path for
2626
* @param pluginName the name of the plugin to get the output path for
2727
*/
28-
public fun getProjectionPath(projectionName: String, pluginName: String): Provider<Path> =
29-
SmithyUtils.getProjectionOutputDirProperty(project).map {
30-
// FIXME - smithy gradle plugin expects the input file to pass "isDirectory"
31-
// but that flag is only true IFF the path exists AND is a directory
32-
// see https://github.com/smithy-lang/smithy-gradle-plugin/issues/113
33-
it.asFile.mkdirs()
34-
SmithyUtils.getProjectionPluginPath(it.asFile, projectionName, pluginName)
35-
}
28+
public fun getProjectionPath(projectionName: String, pluginName: String): Provider<Path> = SmithyUtils.getProjectionOutputDirProperty(project).map {
29+
// FIXME - smithy gradle plugin expects the input file to pass "isDirectory"
30+
// but that flag is only true IFF the path exists AND is a directory
31+
// see https://github.com/smithy-lang/smithy-gradle-plugin/issues/113
32+
it.asFile.mkdirs()
33+
SmithyUtils.getProjectionPluginPath(it.asFile, projectionName, pluginName)
34+
}
3635
}
3736

3837
// smithy-kotlin specific extensions
@@ -43,14 +42,12 @@ open class SmithyBuildExtension(private val project: Project) {
4342
*
4443
* @param projectionName the name of the projection to use
4544
*/
46-
public fun SmithyBuildExtension.smithyKotlinProjectionPath(projectionName: String): Provider<Path> =
47-
getProjectionPath(projectionName, "kotlin-codegen")
45+
public fun SmithyBuildExtension.smithyKotlinProjectionPath(projectionName: String): Provider<Path> = getProjectionPath(projectionName, "kotlin-codegen")
4846

4947
/**
5048
* Get the default generated kotlin source directory for the `smithy-kotlin` plugin.
5149
* This is equivalent to `smithyBuild.getProjectionPath(projectionName, "kotlin-codegen")
5250
*
5351
* @param projectionName the name of the projection to use
5452
*/
55-
public fun SmithyBuildExtension.smithyKotlinProjectionSrcDir(projectionName: String): Provider<Path> =
56-
smithyKotlinProjectionPath(projectionName).map { it.resolve("src/main/kotlin") }
53+
public fun SmithyBuildExtension.smithyKotlinProjectionSrcDir(projectionName: String): Provider<Path> = smithyKotlinProjectionPath(projectionName).map { it.resolve("src/main/kotlin") }

build-plugins/smithy-build/src/main/kotlin/aws/sdk/kotlin/gradle/codegen/SmithyBuildPlugin.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,7 @@ class SmithyBuildPlugin : Plugin<Project> {
7474
registerCodegenTasks()
7575
}
7676

77-
private fun Project.installExtension() =
78-
extensions.create(SMITHY_BUILD_EXTENSION_NAME, SmithyBuildExtension::class.java, project)
77+
private fun Project.installExtension() = extensions.create(SMITHY_BUILD_EXTENSION_NAME, SmithyBuildExtension::class.java, project)
7978

8079
private fun Project.registerCodegenTasks() {
8180
val generateSmithyBuild = tasks.register<GenerateSmithyBuild>(TASK_GENERATE_SMITHY_BUILD) {
@@ -102,8 +101,7 @@ class SmithyBuildPlugin : Plugin<Project> {
102101
tasks.register<SmithyBuildTask>(TASK_GENERATE_SMITHY_PROJECTIONS) {
103102
group = "codegen"
104103
dependsOn(generateSmithyBuild)
105-
resolvedCliClasspath.set(codegenConfig)
106-
runtimeClasspath.set(codegenConfig)
104+
cliClasspath.set(codegenConfig)
107105
buildClasspath.set(codegenConfig)
108106
smithyBuildConfigs.set(project.files(generateSmithyBuild))
109107
}

build-plugins/smithy-build/src/main/kotlin/aws/sdk/kotlin/gradle/codegen/dsl/SmithyKotlinPluginSettings.kt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,7 @@ open class SmithyKotlinApiSettings : ToNode {
5151
return result
5252
}
5353

54-
override fun toString(): String =
55-
"SmithyKotlinApiSettings(visibility=$visibility, nullabilityCheckMode=$nullabilityCheckMode, defaultValueSerializationMode=$defaultValueSerializationMode, enableEndpointAuthProvider=$enableEndpointAuthProvider)"
54+
override fun toString(): String = "SmithyKotlinApiSettings(visibility=$visibility, nullabilityCheckMode=$nullabilityCheckMode, defaultValueSerializationMode=$defaultValueSerializationMode, enableEndpointAuthProvider=$enableEndpointAuthProvider)"
5655
}
5756

5857
open class SmithyKotlinBuildSettings : ToNode {
@@ -92,8 +91,7 @@ open class SmithyKotlinBuildSettings : ToNode {
9291
return result
9392
}
9493

95-
override fun toString(): String =
96-
"SmithyKotlinBuildSettings(generateFullProject=$generateFullProject, generateDefaultBuildFiles=$generateDefaultBuildFiles, optInAnnotations=$optInAnnotations)"
94+
override fun toString(): String = "SmithyKotlinBuildSettings(generateFullProject=$generateFullProject, generateDefaultBuildFiles=$generateDefaultBuildFiles, optInAnnotations=$optInAnnotations)"
9795
}
9896

9997
open class SmithyKotlinPluginSettings : SmithyBuildPluginSettings {
@@ -160,8 +158,7 @@ open class SmithyKotlinPluginSettings : SmithyBuildPluginSettings {
160158
return obj.build()
161159
}
162160

163-
override fun toString(): String =
164-
"SmithyKotlinPluginSettings(pluginName='$pluginName', serviceShapeId=$serviceShapeId, packageName=$packageName, packageVersion=$packageVersion, packageDescription=$packageDescription, sdkId=$sdkId, buildSettings=$buildSettings, apiSettings=$apiSettings)"
161+
override fun toString(): String = "SmithyKotlinPluginSettings(pluginName='$pluginName', serviceShapeId=$serviceShapeId, packageName=$packageName, packageVersion=$packageVersion, packageDescription=$packageDescription, sdkId=$sdkId, buildSettings=$buildSettings, apiSettings=$apiSettings)"
165162
}
166163

167164
fun SmithyProjection.smithyKotlinPlugin(configure: SmithyKotlinPluginSettings.() -> Unit) {

build-plugins/smithy-build/src/main/kotlin/aws/sdk/kotlin/gradle/codegen/dsl/Utils.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ internal fun ObjectNode.Builder.withNullableMember(key: String, member: Boolean?
3636
return withMember(key, member)
3737
}
3838

39-
internal fun <T : ToNode> ObjectNode.Builder.withNullableMember(key: String, member: T?): ObjectNode.Builder =
40-
withOptionalMember(key, Optional.ofNullable(member))
39+
internal fun <T : ToNode> ObjectNode.Builder.withNullableMember(key: String, member: T?): ObjectNode.Builder = withOptionalMember(key, Optional.ofNullable(member))
4140

4241
internal fun ObjectNode.Builder.withArrayMember(key: String, member: List<String>): ObjectNode.Builder = apply {
4342
val arrNode = member.map { Node.from(it) }.let { ArrayNode.fromNodes(it) }

0 commit comments

Comments
 (0)