Gradle脚本Kotlin和dependencyManagement

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

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

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

One Solution collect form web for “Gradle脚本Kotlin和dependencyManagement”

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

 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") } } 
  • 在kotlin中,当我重载inc()运算符时,出现错误
  • 泛型类型参数不在范围内
  • Android Studio中的Kotlin Room安装问题
  • 在可能为空的接收器types的数组列表中,只允许安全或非空的确定的呼叫
  • 如何避免Kotlin字段中的冗余空检查(FindBugs警告)
  • 是否有一个内置的Kotlin方法来将void函数应用于值?
  • NoSuchMethodError在Kotlin中使用@Parcelize注释
  • Kotlin:是否有可能有一个恒定的属性依赖于实现泛型?
  • 从Java到Kotlin
  • 如何获得Kotlin上的网页内容
  • 使用Kotlin在子类中执行静态方法编译?
  • Kotlin language will be the best programming language for Android.