build.gradle.kts
版本中build.gradle
中的以下代码片段相当于什么?
repositories {
mavenCentral()
maven {
url '<MAVEN REPO URL>'
}
}
作为其他答案的补充,在 #kotlin-dsl/256 中,快捷方法被添加到各种存储库方法中,以执行以下操作:
repositories {
mavenCentral()
maven(url = "<MAVEN REPO URL>")
}
根据该问题,这是在Kotlin DSL版本0.11.1
中添加的。0.11.x
版本包含在 Gradle 4.2 版本中。
包装器运行时与构建一起运行的 Gradle 版本,请运行./gradlew --version
。
官方文档允许您在Groovy和Kotlin DSL之间切换示例。 目前,您的问题的答案是:
repositories {
mavenCentral()
maven {
url = uri("<MAVEN REPO URL>")
}
}
我需要添加带有身份验证的 Gitlab,它具有更复杂的语法。对于其他偶然发现这一点的人,这里是翻译成 kts/Kotlin 语法的官方 Gitlab 示例。
val gitLabPrivateToken: String by project
maven {
url = uri("https://<gitlab-url>/api/v4/groups/<group>/-/packages/maven")
name = "GitLab"
credentials(HttpHeaderCredentials::class) {
name = "Private-Token"
value = gitLabPrivateToken
}
authentication {
create<HttpHeaderAuthentication>("header")
}
}
此处的示例 URL 与 Gitlab doco 相符。但对我来说,它仅适用于这样的 URL: https://gitlab.com/api/v4/projects/12345/packages/maven
在 2018-01-13 正确的语法如下(而不是url
,函数setUrl
(:
repositories {
mavenCentral()
maven {
setUrl("<MAVEN REPO URL>")
}
}
您可以按照官方文档通过以下方式添加自定义 Maven URL:
repositories {
maven {
url = uri("<your-custom-url>")
}
}