如何使用 kotlinscript DSL (build.gradle.kts) 通过 url 添加 maven 存储库



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

包装器运行时与构建一起运行的 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>")
    }
}

相关内容

  • 没有找到相关文章

最新更新