领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多我很高兴地宣布依赖管理插件的 1.0.0.RC1 版本已经发布。 它可以从 Gradle 的插件门户网站以及 Maven Central 和 Bintray 获取。
该插件已用 Java 重写,并且其 API 已正式化。 API 和插件内部结构之间进行了清晰的分离。 这需要进行一些破坏性更改,但是如果您使用的是 Groovy DSL,则不太可能受到影响。
转换为 Java 并正式化 API 还实现了一些增强功能
### 官方支持 Gradle 3
以前,该插件是用 Groovy 编写的,并试图支持 Gradle 1、2 和 3。这证明过于雄心勃勃。 两个主要问题是三种不同的 Groovy 运行时(1.8、2.3 和 2.4)之间的二进制不兼容性,以及 Gradle 的三个版本之间的重大更改。 为了解决这些问题,Gradle 团队的建议是用 Java 重写该插件,并放弃对 Gradle 1.x 的支持。 此版本正是这样做的,插件的主要代码现在是 100% Java,而 Gradle 2.9 现在是最低支持的版本。 结果,Gradle 3.x 现在已获得官方支持,并且将来应该更容易支持 Gradle 的新版本。 令人欣慰的副作用是,插件的 jar 文件的大小减少了 13%。
以前,该插件的 API 受其是用 Groovy 编写的事实的影响很大,并且其 API 和 DSL 相当以 Groovy 为中心。 例如,Groovy 闭包在许多地方使用,但没有提供非 Groovy 的替代方案。 这要求 Kotlin 脚本将函数适配为闭包,例如
configure<DependencyManagementExtension> {
imports(delegateClosureOf<ImportsHandler> {
mavenBom("io.spring.platform:platform-bom:Athens-SR1")
})
}
转换为 Java 突出了这个问题,并从 Gradle 自己的 API 中获得启发,1.0 重载了许多以前只接受 Groovy Closure
的方法,也接受 Gradle Action
。 重载的方法使您可以稍微整理一下,例如
configure<DependencyManagementExtension> {
imports {
it.mavenBom("io.spring.platform:platform-bom:Athens-SR1")
}
}
随着 API 的正式化并且插件即将达到 1.0,现在是试用该插件并在 GitHub 或 Gitter 上告知我们您发现的任何问题或您希望看到的改进的绝佳时机。
感谢您迄今为止为该插件做出的所有反馈和建议。