检测API更改/进化 [英] Detecting API changes/evolution
问题描述
我想衡量API演变为给定的Java项目,特别是新/重命名类,新方法,新德precated方法等是否有检测到这种变化的工具吗?
I want to measure API evolution for a given Java project, in particular new/renamed classes, new methods, newly deprecated methods, etc. Is there a tool that detect such changes?
早在2007年,一个谷歌编程之夏项目已启动,但是,我无法找到最后的工作。
Back in 2007, a Google GSoc project was initiated, however, I cannot find the final work.
推荐答案
我会使用 Clirr 为,二进制兼容性检查。从Clirr网站:
I'd use Clirr for that, a binary compatibility checker. From the Clirr web site:
Clirr是用于检查的Java工具
对于二进制和源代码库
与旧版本的兼容性。
基本上你给它两套罐子
文件和Clirr转储出的列表
改变公共API。该Clirr
ant任务可经配置以打破
如果它检测到不兼容的构建
API的变化。在连续
一体化进程Clirr能
自动prevent意外
引进二进制或源码
兼容性问题。
What is it?
Clirr is a tool that checks Java libraries for binary and source compatibility with older releases. Basically you give it two sets of jar files and Clirr dumps out a list of changes in the public api. The Clirr Ant task can be configured to break the build if it detects incompatible api changes. In a continuous integration process Clirr can automatically prevent accidental introduction of binary or source compatibility problems.
...
- 报告所有API的变化(目前只是部分实现)
- 评估每一个变化WRT。二进制和源代码的兼容性
- 支持纯文本和XML报告
- 灵活的失败处理(警告与错误,打破建立或设置
error属性)
这篇关于检测API更改/进化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!