Gradle脚本Kotlin和dependencyManagement

我正尝试将Spring Cloud Stream应用程序构建脚本移植到Kotlin。 到目前为止,除了依赖关系管理块之外,这么好。 网上很难找到任何东西。 样本也不包括该主题。

如何将下面的块转换为build.gradle.kts ? 谢谢。

 dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:Camden.SR2" } } 

完全没有测试,但我相信它应该是这样的:

 import io.spring.gradle.dependencymanagement.DependencyManagementExtension import io.spring.gradle.dependencymanagement.ImportsHandler configure<DependencyManagementExtension> { imports(delegateClosureOf<ImportsHandler> { mavenBom("org.springframework.cloud:spring-cloud-dependencies:Camden.SR2") }) } 

如果你还没有看到它,你应该熟悉gradle脚本kotlin的项目扩展和groovy互操作函数。 你真的要深入到你正在配置的groovy插件的来源,看看它期望如何使用闭包。 在gradle脚本kotlin项目中的例子也是一个很好的指导。

编辑2016年12月19日

依赖管理插件的最新版本现在更多的gradle脚本kotlin友好 ,并将允许以下内容:

 configure<DependencyManagementExtension> { imports { it.mavenBom("io.spring.platform:platform-bom:Camden.SR2") } } 

它仍然可以从一些Kotlin扩展功能中受益,从而消除it的需求(而不是使用接收器),但绝对是一种改进!

编辑2017年11月3日

它现在没有it ,如下所示:

 configure<DependencyManagementExtension> { imports { mavenBom("io.spring.platform:platform-bom:Camden.SR2") } }