From 451bdffe2d95556768cdf59b6e02f34d712f208c Mon Sep 17 00:00:00 2001 From: 0marperez Date: Tue, 13 May 2025 16:16:10 -0400 Subject: [PATCH 1/3] misc: collect artifact size metrics for private repos --- .../CollectDelegatedArtifactSizeMetrics.kt | 5 +++++ 1 file changed, 5 insertions(+) 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 b0522ed7..0112b027 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 @@ -55,6 +55,11 @@ internal abstract class CollectDelegatedArtifactSizeMetrics : DefaultTask() { prefix = pluginConfig.bucketPrefixOverride ?: "[TEMP]${pluginConfig.projectRepositoryName}-$identifier-" }.contents?.map { it.key ?: throw AwsSdkGradleException("A file from the artifact size metrics bucket is missing a key") + } ?: s3.listObjects { + bucket = S3_ARTIFACT_SIZE_METRICS_BUCKET + prefix = pluginConfig.bucketPrefixOverride ?: "[TEMP]private-${pluginConfig.projectRepositoryName}-staging-$identifier-" + }.contents?.map { + it.key ?: throw AwsSdkGradleException("A file from the artifact size metrics bucket is missing a key") } } } From 92b3fde7addbb4b5e0497569aebd9dd726128d4f Mon Sep 17 00:00:00 2001 From: 0marperez Date: Wed, 14 May 2025 11:54:24 -0400 Subject: [PATCH 2/3] feedback --- .../CollectDelegatedArtifactSizeMetrics.kt | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) 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 0112b027..8d19a81f 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 @@ -49,17 +49,19 @@ internal abstract class CollectDelegatedArtifactSizeMetrics : DefaultTask() { } private fun getFileKeys(identifier: String): List? = runBlocking { - S3Client.fromEnvironment().use { s3 -> - return@runBlocking s3.listObjects { - bucket = S3_ARTIFACT_SIZE_METRICS_BUCKET - prefix = pluginConfig.bucketPrefixOverride ?: "[TEMP]${pluginConfig.projectRepositoryName}-$identifier-" - }.contents?.map { - it.key ?: throw AwsSdkGradleException("A file from the artifact size metrics bucket is missing a key") - } ?: s3.listObjects { - bucket = S3_ARTIFACT_SIZE_METRICS_BUCKET - prefix = pluginConfig.bucketPrefixOverride ?: "[TEMP]private-${pluginConfig.projectRepositoryName}-staging-$identifier-" - }.contents?.map { - it.key ?: throw AwsSdkGradleException("A file from the artifact size metrics bucket is missing a key") + val prefixes = pluginConfig.bucketPrefixOverride?.let { listOf(it) } ?: listOf( + "[TEMP]${pluginConfig.projectRepositoryName}-$identifier-", + "[TEMP]private-${pluginConfig.projectRepositoryName}-staging-$identifier-", + ) + + return@runBlocking prefixes.firstNotNullOfOrNull { prefix -> + S3Client.fromEnvironment().use { s3 -> + s3.listObjects { + bucket = S3_ARTIFACT_SIZE_METRICS_BUCKET + this.prefix = prefix + }.contents?.map { + it.key ?: throw AwsSdkGradleException("A file from the artifact size metrics bucket is missing a key") + } } } } From 5f4d29f20d14e752c8ab43e5fb4ca925556fb716 Mon Sep 17 00:00:00 2001 From: 0marperez Date: Wed, 14 May 2025 12:00:31 -0400 Subject: [PATCH 3/3] add comment --- .../artifactsizemetrics/CollectDelegatedArtifactSizeMetrics.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 8d19a81f..1a9e3fae 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 @@ -51,7 +51,7 @@ internal abstract class CollectDelegatedArtifactSizeMetrics : DefaultTask() { private fun getFileKeys(identifier: String): List? = runBlocking { val prefixes = pluginConfig.bucketPrefixOverride?.let { listOf(it) } ?: listOf( "[TEMP]${pluginConfig.projectRepositoryName}-$identifier-", - "[TEMP]private-${pluginConfig.projectRepositoryName}-staging-$identifier-", + "[TEMP]private-${pluginConfig.projectRepositoryName}-staging-$identifier-", // private repo metrics files have different prefix ) return@runBlocking prefixes.firstNotNullOfOrNull { prefix ->