当前位置:新闻中心行业动态 → 正文

合并JDK 10 OpenJDK Mercurial资源群的提议

责任编辑:editor004 作者:Michael Redlich |来源:企业网D1Net  2016-10-27 13:46:41 本文摘自:INFOQ

在OpenJDK邮件列表的一封邮件中,Oracle的JDK工程师Joe Darcy提议将JDK 10 OpenJDK的Mercurial(又称“Hg”,意思为水银)源码资源群(repositories)合并为一个单一资源库。

目前JDK 9 OpenJDK是Hg资源群结构,即由多个相关的Hg资源库组成。JDK 9的这个资源群由8个资源库组成:

root corba hotspotjaxp jaxws jdk langtools nashorn

提议合并的动机始于JEP 296,目的是消除维护多个资源库所带来的不利因素。例如,以现在的集群结构,无法将一个bug的修复传播到群内的多个资源库。单一资源库的一个好处是,可以追踪一堆文件的变更历史而不仅仅是单个文件。

JEP中其他可选的提案是(a)保持现有的Hg资源群、(b)只合并这些资源群的核心子集,但后者被否决了。同时也决定不将JavaFX包含到Hg资源群中。

尽管在提案中已包含了对预期到的疑问的回答,但还是引起了贡献者们对其扩展性、性能以及其他麻烦的讨论,特别在这篇回复中提出了一系列问题。为了将注意力引回到“大局”中,Oracle语言架构师Brian Goetz这样解释:

利益相关者不仅仅只有OpenJDK的开发者们。像其他开发人员一样,把代码维护在一个线性的、事务级更新的资源库中,可以增加项目的可行性,减少使用‘bisect’等工具检查问题引入源所花费的代价。同时也减少了软件测试环境相关的成本,并提升了产品质量,这对我们大家都有好处。同时David Lloyd指出了其他与工具相关的优势,如更方便地维护一个git镜像。

目前主要的反对声是来自于“(我认为他们会)让开发变得困难”的想法。这很正常,人们为自己辩护无可厚非。但是别忘了这样做给*大家*所带来的巨大好处,在判断利弊时要将这点也考虑进去。

这不是Oracle第一次试图清理OpenJDK的Hg资源群。早在2013年11月,Darcy就提议“JDK 9使用替代的资源群结构,进而显著缩短资源群内bug修复的传播时间。”

相关资源 
为验证Hg资源群的合并,已经创建了一个原型,可以在此下载它的Python支持脚本(具体说明如下)。

convert.py:包含为合并做的准备工作,将资源群中每个资源库转换成一个合适的形式。 unify.py:将所有转换完的资源库合并到一个资源库。 verify.py:验证资源群和合并后资源库的文件内容,确保每个历史tag都一致。这是使用diff(1)实现的。

这个原型包含了8个资源库,并通过Python脚本进行合并。变更历史、变更注释和原始的创建时间都会被保留。合并后的单一资源库将包含一个顶级src目录。例如:

$ROOT/jdk/src/java.base 
$ROOT/langtools/src/java.compiler

合并为

$ROOT/src/java.base 
$ROOT/src/java.compiler

查看英文原文:Proposed Consolidation of JDK 10 OpenJDK Mercurial Repositories

感谢冬雨对本文的审校。

关键字:OpenJDK

本文摘自:INFOQ

x 合并JDK 10 OpenJDK Mercurial资源群的提议 扫一扫
分享本文到朋友圈
当前位置:新闻中心行业动态 → 正文

合并JDK 10 OpenJDK Mercurial资源群的提议

责任编辑:editor004 作者:Michael Redlich |来源:企业网D1Net  2016-10-27 13:46:41 本文摘自:INFOQ

在OpenJDK邮件列表的一封邮件中,Oracle的JDK工程师Joe Darcy提议将JDK 10 OpenJDK的Mercurial(又称“Hg”,意思为水银)源码资源群(repositories)合并为一个单一资源库。

目前JDK 9 OpenJDK是Hg资源群结构,即由多个相关的Hg资源库组成。JDK 9的这个资源群由8个资源库组成:

root corba hotspotjaxp jaxws jdk langtools nashorn

提议合并的动机始于JEP 296,目的是消除维护多个资源库所带来的不利因素。例如,以现在的集群结构,无法将一个bug的修复传播到群内的多个资源库。单一资源库的一个好处是,可以追踪一堆文件的变更历史而不仅仅是单个文件。

JEP中其他可选的提案是(a)保持现有的Hg资源群、(b)只合并这些资源群的核心子集,但后者被否决了。同时也决定不将JavaFX包含到Hg资源群中。

尽管在提案中已包含了对预期到的疑问的回答,但还是引起了贡献者们对其扩展性、性能以及其他麻烦的讨论,特别在这篇回复中提出了一系列问题。为了将注意力引回到“大局”中,Oracle语言架构师Brian Goetz这样解释:

利益相关者不仅仅只有OpenJDK的开发者们。像其他开发人员一样,把代码维护在一个线性的、事务级更新的资源库中,可以增加项目的可行性,减少使用‘bisect’等工具检查问题引入源所花费的代价。同时也减少了软件测试环境相关的成本,并提升了产品质量,这对我们大家都有好处。同时David Lloyd指出了其他与工具相关的优势,如更方便地维护一个git镜像。

目前主要的反对声是来自于“(我认为他们会)让开发变得困难”的想法。这很正常,人们为自己辩护无可厚非。但是别忘了这样做给*大家*所带来的巨大好处,在判断利弊时要将这点也考虑进去。

这不是Oracle第一次试图清理OpenJDK的Hg资源群。早在2013年11月,Darcy就提议“JDK 9使用替代的资源群结构,进而显著缩短资源群内bug修复的传播时间。”

相关资源 
为验证Hg资源群的合并,已经创建了一个原型,可以在此下载它的Python支持脚本(具体说明如下)。

convert.py:包含为合并做的准备工作,将资源群中每个资源库转换成一个合适的形式。 unify.py:将所有转换完的资源库合并到一个资源库。 verify.py:验证资源群和合并后资源库的文件内容,确保每个历史tag都一致。这是使用diff(1)实现的。

这个原型包含了8个资源库,并通过Python脚本进行合并。变更历史、变更注释和原始的创建时间都会被保留。合并后的单一资源库将包含一个顶级src目录。例如:

$ROOT/jdk/src/java.base 
$ROOT/langtools/src/java.compiler

合并为

$ROOT/src/java.base 
$ROOT/src/java.compiler

查看英文原文:Proposed Consolidation of JDK 10 OpenJDK Mercurial Repositories

感谢冬雨对本文的审校。

关键字:OpenJDK

本文摘自:INFOQ

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^