自己写的一个工具,有大佬的话可以提点意见
1、获取代码,对比根据两次提交代码差异,分析获取到受影响接口 URL 2、目前只写到了相同分支,不同 commitId;不同的 tag,不同分支尚未进行。 3、jgit 拉取代码到本地,解析并获取到方法之间的调用关系,对比代码方法之间的调用关系,获取到差异,依次向上反推到接口层并获取到 URL 地址 https://gitee.com/panpan009/api-diff
老哥能不能说说实现逻辑
精准测试?
层次太高给不了建议
大概看了下,有几个点想交流下,谈不上建议哈:
classUrl!=null&&methodUrl!=null
感谢大佬指点,我想想优化
开发的时候,没想的很齐全,谢谢指点,我再看看
简单看了下楼主的实现,楼主使用的是 java-callgraph2,这个工具是使用字节码分析的调用链,因此要求拉代码后再编译成 jar 包。 我之前用 ASM 写了一个跟楼主类似的工具,但是只处理 invokeXXX 指令遇到多态和覆写时无法获取真实的被调用者 (java-callgraph2 貌似处理的不全),而且使用起来不仅要源码还要字节码确实蛋疼,后来索性直接写了个 idea 的插件,依托 idea 提供的 api 全在源码层面分析了
加个 readme 吧,具体阐述下这个工具的用途,适用范围,限制条件等