Spring Roo 1.1.0.M2 发布

工程 | Ben Alex | 2010 年 7 月 16 日 | ...

我很高兴宣布我们刚刚发布了 Spring Roo 1.1.0.M2 (点此下载)。我们同时还发布了 SpringSource Tool Suite 2.3.3.M2,它提供了与这个新的 Spring Roo 版本最新的集成。对于生产环境的使用,我们建议您继续使用 Spring Roo 1.0.2,尽管我们也知道有大量用户正愉快地使用 Roo 1.1.0 开发版本。

新特性?

那么,新的 Spring Roo 1.1.0 Milestone 2 包含了哪些内容?自 Milestone 1 发布以来,共进行了 140 项修复、改进和增强。部分亮点包括:

更多插件发现和管理功能

Spring Roo 1.1.0.M2 还包含大量增强功能,为至关重要的插件发现和管理功能做准备。Roo 团队高度致力于帮助为 Roo 构建一个充满活力的插件生态系统,这将惠及许多希望获得核心 Roo 分发版中未包含功能的Roo用户。

作为这项工作的一部分,Roo 现在会自动从我们的新仓库(http://spring-roo-repository.springsource.org/repository.xml)下载 OBR 索引。作为 Roo 用户,您可能不会看到太多 OBR 基础设施(因为它只是默默工作!),但很高兴知道 OBR 为 Roo 提供了一种 OSGi 标准化的方式来发现可用插件、解决其依赖关系、将它们下载到您的 Roo 环境并自动启动它们。这意味着 Roo 用户可以受益于一种工业级的、OSGi 标准化的插件管理方式,并且随着越来越复杂的插件提供给 Roo 社区,我们将不会遇到障碍。

Roo 还通过将 OBR 元数据直接集成到 shell 命令解析中,扩展了 OBR 的能力。这意味着如果您输入一个当前未安装的插件中的命令,Roo 将自动向您建议哪些插件可以提供该命令!我很高兴地承认这个特定功能是受到我使用 Ubuntu 的启发,因为随意输入任何命令,系统就能告诉您安装该命令所需的一行安装命令,这非常有用。

虽然这个新的 OBR 支持和 shell 命令发现功能非常好,但我们也希望确保能为 Roo 社区提供便捷的插件托管服务。但要做好这一点,意味着我们需要仔细考虑安全隐患。

我们通过在 Roo 1.1.0.M2 中添加广泛的 PGP 密钥管理功能来解决插件安全问题。这些功能允许您精确地指定您信任哪些开发者来签署 Roo 将下载到您计算机上的软件。Roo 本身现在在每次发布时也进行了 PGP 签名。为了支持这些功能,我们在 Roo 中引入了一个新的协议处理程序,称为 httppgp://。它告诉 Roo 给定的 HTTP URL 也有一个 PGP 分离式签名可用。

通过要求所有插件都提供 PGP 签名,我们能够方便安全地为社区托管所有 Roo 插件。是否信任某个 PGP 密钥由您决定,如果您不信任该密钥,Roo 将拒绝下载 httppgp:// 资源。我们也实现了这种架构,这样就不需要修改 Apache Felix 的 OBR 基础设施,也不强迫所有人使用我们的中央插件托管功能。这意味着我们可以受益于未来 Felix 新版本对 OBR 的改进,而且您完全可以在自己的 OBR repository.xml 文件中使用 httppgp:// URL。Roo 的这种方法还意味着您可以使用独立的 PGP 工具,如 GnuPG 来执行与签名相关的操作,以独立验证 Roo 的正确运行。正如您所知,我对新的 PGP OBR 基础设施感到非常高兴(但我猜我的极客 Acegi Security/Spring Security 背景在这里显露无遗!)。

在我们宣布 Milestone 3 时,我会更详细地介绍这个新基础设施的工作原理,因为 Milestone 3 将包含完整的插件终端用户界面。此外,我们还将推出新的后端工具,帮助自动化插件发布到中央仓库(称为 RooBot)。如果您等不及新的终端用户界面,可以尝试使用“pgp list trusted keys”命令查看 Roo 默认信任哪些密钥。也可以在 Roo 提示符下输入“welcome property”,看看 Roo 如何提示提供“welcome property”命令的当前未安装插件。如果您真的想看看 httppgp:// 基础设施的实际运行情况,可以尝试取消信任我的 PGP 密钥(pgp untrust --keyId 00B5050F),然后尝试安装 welcome 插件(osgi obr start --bundleSymbolicName org.springframework.samples.roo.welcome)。

1.1.0 路线图

尽管 Roo 1.1.0.M2 包含了所有这些酷炫的新特性,但我们也一直忙于准备未能纳入 Milestone 2 版本的其他特性。

许多人热切期待的一个特性是 增量数据库逆向工程。这个特性请求目前已获得超过 113 票支持,并且实现已支持 Java 编译单元生命周期管理、增量字段维护、复合主键和大多数关系类型(1:M、M:M、1:1)。我们预计这个特性将包含在 Roo 1.1.0.M3 中,但如果您想体验最新进展,可以尝试从 Git 构建 Roo 进行试验。

我们一直在开发的另一些有趣的特性包括一个 Op4J 插件、一个非常棒的 自动 Git 插件 以及一些 web 嵌入命令。Op4J 插件可以极大地减少您需要编写的代码量,同时又不失 Java 的类型安全、代码协助和性能优势。自动 Git 插件将您执行的每个 Roo 命令转化为一个独立的 Git 提交,这对于查看 Roo 在做什么以及能够有选择地回滚等操作非常有用。web 嵌入命令也非常实用,只需一个 Roo 命令,就可以将 YouTube 视频、SlideShare 演示文稿、Google Maps、Flickr 照片等类似媒体资源嵌入到您的 web 视图中(总共目前支持 15 种不同的资源类型,涵盖从照片分享到金融更新等等)。

如果您对我们的发布日期感兴趣,可以通过访问 http://tinyurl.com/rooroadmap 进行跟踪。当然,这些日期会随着我们的开发进展(以及相关项目的日期调整)而修订,但它们能给您一个很好的指示。

其他社区新闻

关于 Roo 社区的一些其他有趣公告

  • 现在有一个专门的 Spring Roo 播客,地址是 http://roopodcast.com/,已经发布了两期音频采访
  • Manning 正在出版一本名为《Spring Roo 实战》的书,目前已通过早期访问计划提供(第一章免费 - 使用代码 "ju1540" 还有限时 40% 折扣)
  • SpringOne 2GX 将举办多场 Spring Roo 相关会议,所以如果您在北美(甚至更远的地方!),不妨来参加并直接听写 Roo 的人介绍 Roo
  • 今年晚些时候,Roo 还将在其他主要会议上被提及,例如 JavaOneDevoxx
  • 您可以通过在 Twitter 上关注 @SpringRoo 和工程团队(BenAlanStefan)随时了解最新的 Roo 新闻(如果您发关于 Roo 的推文,请包含 @SpringRoo,这样人们才能搜索到)

我们希望您喜欢这个新版本!请通过 @SpringRoo社区论坛 告诉我们您的想法。

订阅 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您快速提升。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅,为 OpenJDK™、Spring 和 Apache Tomcat® 提供支持和二进制文件。

了解更多

即将举行的活动

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

查看全部