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..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 @@ -49,12 +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") + val prefixes = pluginConfig.bucketPrefixOverride?.let { listOf(it) } ?: listOf( + "[TEMP]${pluginConfig.projectRepositoryName}-$identifier-", + "[TEMP]private-${pluginConfig.projectRepositoryName}-staging-$identifier-", // private repo metrics files have different prefix + ) + + 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") + } } } }