配置Gradle Kotlin DSL以使用自定义存储库

时间:2019-02-04 13:51:14

标签: gradle kotlin

我正在一个项目中,而不是使用默认存储库(Maven Central,jCenter等),我们正在使用内部JFrog存储库。该项目正在将Kotlin DSL用于Gradle。

问题在于,即使在pluginManagement文件中配置settings.gradle.kts块,Gradle仍会尝试从Gradle Central Plugin Repository获取依赖项

// settings.gradle.kts
pluginManagement {
    repositories {
        maven(url = "https://myinternalrepo.corp/artifactory")
    }
}

// other definitions

失败消息:

Plugin [id: 'org.gradle.kotlin.kotlin-dsl', version: '1.1.3'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'org.gradle.kotlin.kotlin-dsl:org.gradle.kotlin.kotlin-dsl.gradle.plugin:1.1.3')
  Searched in the following repositories:
    Gradle Central Plugin Repository

有人知道我在做什么错吗?

2 个答案:

答案 0 :(得分:0)

如果要为buildSrc脚本配置插件存储库,则需要在settings.gradle[.kts]目录内创建专用的buildSrc文件,并在此处配置pluginManagement {}块。

实际上,buildSrc是一种单独的构建,在评估/执行主构建之前先执行该构建。因此,如果要在pluginManagement {}脚本中使用这些自定义存储库,则无法在根项目的settings.gradle中配置buildSrc块。

答案 1 :(得分:-1)

您似乎错过了公司缓存中的Gradle插件存储库Maven存储库。只要确保您包含Message<?> failed = ((MessagingException) em.getPayload()).getFailedMessage(); 。 该错误确切表明它找不到插件

Gradle插件通常在此处列出,并且插件依赖项是从https://plugins.gradle.org/m2/提取的

顺便说一句。今天我们有Kotlin jcenter,也许升级很有意义