83

build.gradle版本中的以下代码片段的等价物是什么build.gradle.kts

repositories {
  mavenCentral()
  maven {
    url '<MAVEN REPO URL>'
  }
}
4

4 回答 4

144

作为其他答案的补充,在#kotlin-dsl/256中,快捷方法被添加到各种存储库方法中,以执行以下操作:

repositories {
  mavenCentral()
  maven(url = "<MAVEN REPO URL>")
}

根据问题,这是在 Kotlin DSL 版本中添加的0.11.1。这些0.11.x版本包含在Gradle 4.2 版本中。

要在使用Gradle 包装器时查看您在构建中运行的 Gradle 版本run ./gradlew --version

于 2018-01-13T19:25:54.890 回答
26

在 2018-01-13,正确的语法如下(而不是urlfunction setUrl):

repositories {
    mavenCentral()
    maven {
        setUrl("<MAVEN REPO URL>")
    }
}
于 2018-01-13T17:31:01.633 回答
26

官方文档允许您在Groovy 和 Kotlin DSL 之间切换示例。目前,您的问题列出的答案是:

repositories {
    mavenCentral()
    maven {
        url = uri("<MAVEN REPO URL>")
    }
}

我需要添加带有身份验证的 Gitlab,它的语法更复杂。对于其他偶然发现的人,这里是官方的 Gitlab 示例,翻译成 kts/Kotlin 语法。

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

于 2020-04-21T08:49:56.693 回答
3

您可以按照官方文档通过以下方式添加自定义 Maven URL :

repositories {
    maven {
        url = uri("<your-custom-url>")
    }
}
于 2020-11-11T11:46:13.740 回答