哪些更改或代码进化会破坏向后兼容性(主要是二进制兼容性)?它是否在任何地方完全指定?
我查看了Scala language specification,但未看到有关此问题的任何部分,例如Java Language Specification Ch. 13 Binary Compatibility。
答案 0 :(得分:5)
根据邮件列表,规范文档详细说明了向后兼容性问题does not yet exist,但正在进行中。
有关二进制兼容性(主要是scala库)的当前状态和外观,请参阅Martin's message到scala-user邮件列表。
有关迁移管理器预览的信息,请参阅此页http://typesafe.com/technology/migration-manager。
答案 1 :(得分:1)
我已经为 japi-compliance-checker 工具( 1.6 版本)添加了对Scala的支持。现在,您可以自动识别代码中的重大更改。该工具可在此处获取:https://github.com/lvc/japi-compliance-checker
样本用法:
japi-compliance-checker OLD.jar NEW.jar
此外,我还创建了一个页面,其中包含此工具生成的Scala版本演变的分析报告,例如:http://abi-laboratory.pro/java/tracker/timeline/scala/