以下来自
build.gradle
版本中的 build.gradle.kts
的代码片段相当于什么?
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 包装器运行时构建的 Gradle 版本,请运行
./gradlew --version
。
官方 doco 允许您在 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 年 1 月 13 日,正确的语法如下(不是
url
,而是函数 setUrl
):
repositories {
mavenCentral()
maven {
setUrl("<MAVEN REPO URL>")
}
}
您可以按照官方docs通过以下方式添加自定义Maven URL:
repositories {
maven {
url = uri("<your-custom-url>")
}
}
为新项目添加maven url,您需要将其添加到settings.build.gradle.kts:
dependencyResolutionManagement {
repositories {
maven {
url = uri("<MAVEN REPO URL>")
}
}
}