使用Kotlin DSL的Gradle全局插件存储库

时间:2019-04-24 05:18:35

标签: gradle kotlin

我是Gradle的新手,但是需要在公司网络上的机器上构建一个使用它的开源项目。该项目最近已移至Kotlin DSL,因此需要一些插件。

我需要使用我们的公司Nexus服务器来获取插件依赖项,并且我想在全局范围内进行设置,因为我不想在所有项目中都修改settings.gradle.kts(我已经尝试过这个,它有效)

如果我想全局进行此操作,则从https://docs.gradle.org/current/userguide/plugins.html#sec:plugin_management可以理解,我需要在init.gradle.kts目录中拥有一个USER_HOME/.gradle文件。那就是我所做的,这是文件的内容:

    settingsEvaluated { settings ->
            settings.pluginManagement {
                repositories {
                    mavenLocal()
                    maven("https://my_corporate_nexus/")
                }
            }
    }

但是当我随后触发构建时,这就是我得到的:

* What went wrong:
Script compilation errors:

  Line 1: settingsEvaluated { settings ->
          ^ None of the following functions can be called with the arguments supplied:
              public open fun settingsEvaluated(p0: Closure<(raw) Any!>): Unit defined in Init_gradle
              public open fun settingsEvaluated(p0: Action<in Settings!>): Unit defined in Init_gradle
              public final fun settingsEvaluated(p0: Settings!.() -> Unit): Unit defined in Init_gradle

下面是我的版本详细信息,由gradle -v提供:

  • 4.9级
  • 科特林DSL:0.18.4
  • 科特琳:1.2.41
  • Groovy:2.4.12

所以看起来好像有些东西我很想念。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

似乎可以使用:

settingsEvaluated {
        settings.pluginManagement {
            repositories {
                mavenLocal()
                maven("https://my_corporate_nexus/")
            }
        }
}

settings ->

我不确定文档是错误的还是我的设置是否特定...