对Gradle Kotlin DSL中的S3 Maven存储库使用IAM凭据

时间:2018-09-27 19:12:29

标签: gradle gradle-kotlin-dsl

我已经按照说明here配置了一个S3支持的Maven存储库,例如:

repositories {
    maven {
        url "s3://myCompanyBucket/maven2"
        authentication {
           awsIm(AwsImAuthentication) // load from EC2 role or env var
        }
    }
}

我正在尝试将脚本转换为使用Kotlin DSL而不是常规的方式,但是无法找出等效的代码,尤其是authentication部分。

上述Groovy片段的等效Kotlin DSL是什么?

2 个答案:

答案 0 :(得分:1)

我刚刚通过以下方法配置了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

答案 1 :(得分:0)

我能够使它像这样工作:

maven {
    url = uri("s3://$repoBucketName/release")
    authentication {
        register("awsIm", AwsImAuthentication::class)
    }
}

至少没有来自未使用变量的警告。 =)