宣布 Buildship 2.0
我们很高兴地宣布 Buildship 的 2.0 版本——我们为 Eclipse 提供的官方 Gradle 支持——现在可以通过 Eclipse Marketplace 获取。此版本添加了对复合构建的支持,极大地减少了开发周转时间。UI 已经根据 1.x 版本期间大量社区反馈进行了重新设计。项目同步现在更加准确,项目导入只需少一步。我们添加了对 Gradle 离线模式的支持(感谢 Rodrigue!),最后但并非最不重要的一点是,第三方集成商可以利用我们的新的 InvocationCustomizer
扩展点。继续阅读以了解有关这些新功能的详细信息。
复合构建支持
什么是复合构建?
Gradle 中的 复合构建 功能允许您将多个独立的 Gradle 构建视为一个大型多项目构建。当您需要处理通常单独开发的多个项目时,这会显着缩短周转时间。
假设你已经写了一个名为 lib
的 Java 库,并且许多应用程序都使用它。你发现了一个只在 special-app
中出现的 bug。传统的开发流程是修改 lib
中的一些代码,并将快照安装到本地仓库。然后,你需要修改 special-app
的构建脚本以使用新的快照,并检查 bug 是否已修复。
然而,使用组合构建,你可以告诉 Gradle 将这两个项目视为一个项目。这将使 special-app
直接依赖于 lib
项目的输出。
你可以在 这篇介绍性博客文章 中了解更多关于组合构建的信息。
IDE 中的组合构建
如果你开发 special-app
,你可能已经将它导入到 Eclipse 中,并将 lib
作为二进制依赖项引用。
在命令行中使用组合构建和在 Eclipse 中使用组合构建之间没有太大区别。要包含 lib
,你只需要在 settings.gradle
文件中添加一个条目,告诉 Gradle 从哪个文件夹包含额外的构建。
includeBuild '../lib'
然后,要应用更改,右键单击项目并选择 Gradle > Refresh Project
。同步完成后,你应该看到两件事:包含构建中的项目被导入,并且二进制依赖项被项目依赖项替换。
现在,你可以对这两个项目进行更改,并享受完整的 IDE 支持:错误标记、代码补全、重构等等。此外,如果你从 Gradle Tasks
视图中执行 Gradle 测试(或任何其他构建任务),执行将考虑包含构建中的更改。
限制
在从 IDE 中使用组合构建时,你应该注意以下限制:
- 组合构建支持仅在导入的项目使用 Gradle 3.3 或更高版本时才有效。
- 由于 Gradle 中的限制,包含构建上的任务执行被禁用。
- 不支持将 WTP 项目包含到组合构建中。
设计大修
我们更新了 Buildship 用户界面,使其与当前的 Gradle 品牌以及 Eclipse 设计指南保持一致。图标现在可以被色盲人士区分,并且与 Eclipse 的深色主题配合良好。最后,高分辨率图像已到位,可用于高 DPI 显示器。
导入向导简化
我们从导入和新建项目向导中移除了 JAVA_HOME、程序参数和 JVM 参数配置。用户仍然可以通过 gradle.properties
文件 配置这些属性。
更准确的项目同步
在 Buildship 1.x 中,如果导入的项目包含 Eclipse 描述符,则会显示一个对话框,以确定是否应该更新或删除这些描述符。这种行为容易出错,并且会分散用户的注意力。
为了避免显示对话框,我们改进了项目同步算法:如果项目使用的 Gradle 版本可以提供特定属性(例如项目性质),则该属性将被完全覆盖。仅当 Gradle 未提供有关该属性的信息时,才会保留手动修改。这允许使用旧版 Gradle 版本的用户解决模型中缺少的信息,同时为使用新版 Gradle 版本的用户提供更一致的体验。
离线模式支持
用户现在可以通过工作区首选项将 Buildship 设置为离线工作。启用后,所有 Gradle 调用都将接收额外的 --offline
参数。
InvocationCustomizer 扩展点
The InvocationCustomizer
扩展点使 Eclipse 插件能够为 Gradle 构建贡献额外的参数。这允许集成人员从 IDE 添加初始化脚本或控制项目属性。有关示例实现,请查看 Buildship 文档。
重大变更
此版本引入了以下重大变更
- 最低 Java 版本设置为 1.7
- 最低 Eclipse 版本设置为 4.2
- 对于直接位于 Eclipse 工作区位置下的项目,项目重命名功能已禁用。
- 从 Eclipse Mars 直接迁移到 Eclipse Oxygen 的项目需要重新导入。
- JAVA_HOME 无法再在导入时配置,请改用
gradle.properties
- Java 参数和 Gradle 属性无法再在导入时配置,请改用
gradle.properties
安装
Buildship 2.0 可从 Eclipse 市场 或 eclipse.org 更新站点获取。请注意,更新站点 URL 已更改,因此此版本没有自动更新可用。