我的 Java 项目依赖于第三方库,我们称之为 xyz.jar。我的项目在 git 和 svn 中的 xyz 中维护。xyz 作为 Maven 依赖项包含在我的项目中,因此它会作为构建过程的一部分自动下载。
我需要对 xyz 的源代码进行细微调整,但仍想从项目维护者那里获得更新。我有什么选择?
目前,最好的选择似乎是:
- 使用 .将 xyz 的 svn 存储库分叉到一个新的git 存储库中
git svn clone
。 - 破解 git repo。
- 从 git repo 构建 xyz-hacked.jar 并将工件导出到 maven 库服务器。
当 xyz 出现新的变化时,我可以做一个git svn rebase
来保持我的 git repo 是最新的。
这里有哪些最佳实践?我可以改进这种方法吗?
编辑
我知道会涉及一些手动工作,例如解决合并冲突并确保我的补丁与最新的 xyz 兼容。我不是在寻找通用的自动代码合并解决方案。我试图找出在这种情况下最佳实践和工具是什么。
摇篮
我不认为这是一个特定于 Gradle 的问题,但以防万一有一个特定于 Gradle 的答案:我使用 Gradle 将 xyz.jar 作为“编译”依赖项包含在内。