我有一个带有主模块和多个子模块的 Maven 项目。我想知道是否有一种简单的方法来检索两次提交之间更改的所有模块。
无论如何,在问题提出近三年后:
我基于 git diff 的启发式设计,基于 Maven 工件受惯例支配的事实。
- 提取所有文件更改
git diff --name-status <commit1> <commit2>
- 整理、添加文件、更新文件、删除文件
- 从这些信息来看,如果文件看起来像a/b/src/main/... or c/src/测试,根据 Maven 约定,受影响的模块是a/b and c。如果文件看起来像d/e/pom.xml, 简单的!该模块是d/e.
当然,这不能处理诸如a/b/c/README.md。是在 a、a/b 还是 a/b/c 中?
我使用这个启发式列出所有要为 CI 构建重新编译的模块。如果其中一个文件无法通过上述算法进行分类,我就重建整个项目。
Cheers
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)