在 Gradle Kotlin DSL 中为 S3 Maven 存储库使用 IAM 凭据
Use IAM credentials for S3 Maven Repository in Gradle Kotlin DSL
我已经按照说明配置了一个 S3 支持的 Maven 存储库 here,例如:
repositories {
maven {
url "s3://myCompanyBucket/maven2"
authentication {
awsIm(AwsImAuthentication) // load from EC2 role or env var
}
}
}
我正在尝试将我的脚本转换为使用 Kotlin DSL 而不是 groovy,但无法找出等效代码,特别是 authentication
部分。
以上 Groovy 代码段的等效 Kotlin DSL 是什么?
我刚刚通过以下方式配置了 HttpHeaderAuthentication:
maven {
credentials(HttpHeaderCredentials::class.java) {
name = "Private-Token"
value = "xxxxxxx"
}
authentication {
val header by registering(HttpHeaderAuthentication::class)
}
url = uri("https://xxxxxxxx/")
}
所以我猜你的应该是这样的
repositories {
maven {
url = uri("s3://myCompanyBucket/maven2")
authentication {
val awsIm by registering(AwsImAuthentication::class) // load from EC2 role or env var
}
}
}
HTH
我能够让它像这样工作:
maven {
url = uri("s3://$repoBucketName/release")
authentication {
register("awsIm", AwsImAuthentication::class)
}
}
至少没有来自未使用变量的警告。 =)
我已经按照说明配置了一个 S3 支持的 Maven 存储库 here,例如:
repositories {
maven {
url "s3://myCompanyBucket/maven2"
authentication {
awsIm(AwsImAuthentication) // load from EC2 role or env var
}
}
}
我正在尝试将我的脚本转换为使用 Kotlin DSL 而不是 groovy,但无法找出等效代码,特别是 authentication
部分。
以上 Groovy 代码段的等效 Kotlin DSL 是什么?
我刚刚通过以下方式配置了 HttpHeaderAuthentication:
maven {
credentials(HttpHeaderCredentials::class.java) {
name = "Private-Token"
value = "xxxxxxx"
}
authentication {
val header by registering(HttpHeaderAuthentication::class)
}
url = uri("https://xxxxxxxx/")
}
所以我猜你的应该是这样的
repositories {
maven {
url = uri("s3://myCompanyBucket/maven2")
authentication {
val awsIm by registering(AwsImAuthentication::class) // load from EC2 role or env var
}
}
}
HTH
我能够让它像这样工作:
maven {
url = uri("s3://$repoBucketName/release")
authentication {
register("awsIm", AwsImAuthentication::class)
}
}
至少没有来自未使用变量的警告。 =)