gpt4 book ai didi

spring - Gradle Script Kotlin 和 dependencyManagement

转载 作者:IT老高 更新时间:2023-10-28 13:37:19 24 4
gpt4 key购买 nike

我正在尝试将 Spring Cloud Stream 应用程序构建脚本移植到 Kotlin。到目前为止,一切都很好,除了依赖管理 block 。很难在网中找到任何东西。样本也不涵盖该主题。

如何将以下 block 转换为 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的project extensionsgroovy interop功能。您确实必须深入研究您正在配置的Groovy插件的来源,以查看其期望如何使用闭合。 Gradle脚本Kotlin项目中的示例也是一个很好的指南。

编辑2016年12月19日

依赖关系管理插件的最新版本为now more gradle script kotlin friendly,将允许以下内容:

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")
}
}

关于spring - Gradle Script Kotlin 和 dependencyManagement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40818688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com