diff --git a/build-plugins/build-support/build.gradle.kts b/build-plugins/build-support/build.gradle.kts index 6b981b8..b54e7a4 100644 --- a/build-plugins/build-support/build.gradle.kts +++ b/build-plugins/build-support/build.gradle.kts @@ -26,8 +26,8 @@ dependencies { implementation(libs.nexusPublishPlugin) compileOnly(gradleApi()) - implementation("aws.sdk.kotlin:s3:1.1.+") - implementation("aws.sdk.kotlin:cloudwatch:1.1.+") + implementation("aws.sdk.kotlin:s3:1.4.+") + implementation("aws.sdk.kotlin:cloudwatch:1.4.+") testImplementation(libs.junit.jupiter) } diff --git a/build-plugins/build-support/src/main/kotlin/aws/sdk/kotlin/gradle/plugins/artifactsizemetrics/CollectDelegatedArtifactSizeMetrics.kt b/build-plugins/build-support/src/main/kotlin/aws/sdk/kotlin/gradle/plugins/artifactsizemetrics/CollectDelegatedArtifactSizeMetrics.kt index 1a9e3fa..ae8971d 100644 --- a/build-plugins/build-support/src/main/kotlin/aws/sdk/kotlin/gradle/plugins/artifactsizemetrics/CollectDelegatedArtifactSizeMetrics.kt +++ b/build-plugins/build-support/src/main/kotlin/aws/sdk/kotlin/gradle/plugins/artifactsizemetrics/CollectDelegatedArtifactSizeMetrics.kt @@ -69,18 +69,18 @@ internal abstract class CollectDelegatedArtifactSizeMetrics : DefaultTask() { private fun getFiles(keys: List): List = runBlocking { S3Client.fromEnvironment().use { s3 -> keys.map { key -> - async { s3.getObjectAsText(key) } + async { + s3.getObject( + GetObjectRequest { + bucket = S3_ARTIFACT_SIZE_METRICS_BUCKET + this.key = key + }, + ) { it.body?.decodeToString() ?: throw AwsSdkGradleException("Metrics file $key is missing a body") } + } }.awaitAll() } } - private suspend fun S3Client.getObjectAsText(objectKey: String) = getObject( - GetObjectRequest { - bucket = S3_ARTIFACT_SIZE_METRICS_BUCKET - key = objectKey - }, - ) { it.body?.decodeToString() ?: throw AwsSdkGradleException("Metrics file $objectKey is missing a body") } - private fun combine(metricsFiles: List) = buildString { appendLine("Artifact, Size") metricsFiles.forEach { metricsFile ->