在没有版本更改的情况下检测到不兼容的 API 更改
Detect an incompatible API change without version change
我在 Java - Maven - Jenkins
项目上使用语义版本控制,因此,无论何时进行不兼容的 API 更改,都应更改产品的主要版本。
我正在寻找一种自动检测此类更改的方法,以便 Maven 构建在发生时失败(甚至自动增加版本)。谷歌搜索让我开始编写自己的 maven enforcer plugin
规则,但我想问问是否有人知道任何可以提供帮助的工具(Jenkins
插件或类似的工具也可以)。
一年过去了,但我希望这对将来的人有所帮助。
根据 wemu 的评论,我发现了这个:
Clirr
- 命令行:http://clirr.sourceforge.net/
- Maven 插件:http://www.mojohaus.org/clirr-maven-plugin/
- SonarQube 插件:http://docs.sonarqube.org/display/PLUG/Clirr+Plugin
Java API 合规性检查器
Revapi(支持Java8)
- 家:http://revapi.org
- Maven 插件:https://github.com/revapi/revapi
- 附加信息:http://massol.myxwiki.org/xwiki/bin/view/Blog/ByeByeCLIRRWelcomeRevapi
japicmp(支持Java8)
- 命令行/Maven 插件:http://siom79.github.io/japicmp/
我在 Java - Maven - Jenkins
项目上使用语义版本控制,因此,无论何时进行不兼容的 API 更改,都应更改产品的主要版本。
我正在寻找一种自动检测此类更改的方法,以便 Maven 构建在发生时失败(甚至自动增加版本)。谷歌搜索让我开始编写自己的 maven enforcer plugin
规则,但我想问问是否有人知道任何可以提供帮助的工具(Jenkins
插件或类似的工具也可以)。
一年过去了,但我希望这对将来的人有所帮助。 根据 wemu 的评论,我发现了这个:
Clirr
- 命令行:http://clirr.sourceforge.net/
- Maven 插件:http://www.mojohaus.org/clirr-maven-plugin/
- SonarQube 插件:http://docs.sonarqube.org/display/PLUG/Clirr+Plugin
Java API 合规性检查器
Revapi(支持Java8)
- 家:http://revapi.org
- Maven 插件:https://github.com/revapi/revapi
- 附加信息:http://massol.myxwiki.org/xwiki/bin/view/Blog/ByeByeCLIRRWelcomeRevapi
japicmp(支持Java8)
- 命令行/Maven 插件:http://siom79.github.io/japicmp/