Dependency Management Plugin 1.0.0.RC1

版本发布 | Andy Wilkinson | 2016年12月16日 | ...

我很高兴地宣布 Dependency Management Plugin 的 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%。

对 Gradle Script Kotlin 的更好支持

以前,该插件的 API 受其用 Groovy 编写的事实严重影响,并且其 API 和 DSL 相当以 Groovy 为中心。例如,Groovy Closures 在许多地方都被使用,而没有提供非 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,现在是开始使用它的绝佳时机,并让我们在 GitHubGitter 上告知你发现的任何问题或希望看到的改进。

感谢你迄今为止对该插件的所有反馈和建议。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有