依赖管理插件 1.0.0.RC1

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

我很高兴地宣布依赖管理插件的 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 闭包在许多地方使用,但没有提供非 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 社区中所有即将举行的活动。

查看全部