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

在Gradle Kotlin DSL中使用S3 Maven存储库的IAM凭据,gradle,gradle-kotlin-dsl,Gradle,Gradle Kotlin Dsl,我已经按照说明配置了一个支持S3的Maven存储库,例如: 我试图将我的脚本转换为使用Kotlin DSL而不是groovy,但无法找出等效的代码,特别是身份验证部分 上面Groovy代码段的等效Kotlin DSL是什么?我刚刚通过以下方式配置了一个HttpHeaderAuthentication: maven { credentials(HttpHeaderCredentials::class.java) { name = "Private-Token"

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

我试图将我的脚本转换为使用Kotlin DSL而不是groovy,但无法找出等效的代码,特别是
身份验证部分


上面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

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

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

我能让它像这样工作:

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

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

成功了!intellij抱怨从未使用过变量“awsIm”,但我认为:)这是有效的!intellij抱怨从未使用过变量“awsIm”,但我接受它:)