我正在研究一种将极其复杂的遗留ant脚本移植到maven项目的方法,我需要一个选项来获得两个版本之间更改的文件列表。
一点(可悲的)历史:这个项目使用ant以分解的格式(即编译的类)将应用程序构建到输出目录中。然后,这些编译后的文件存储在SVN中(我知道…)。应用程序作为Windows服务运行(使用Windows Service Wrapper),"部署"过程只是复制更改后的类文件(通过在生产服务器上运行svn update
来完成)(我知道..)。
我的首要目标是停止这个项目在SVN中存储二进制文件,并开始使用maven!然而,由于其他一切的工作方式,有两个要求:
- 让Maven继续构建"爆炸式"类
- 能够获得两个版本之间的"差异"
我想Maven已经为我完成了#1,我可以在targets
目录中找到这些类。我的问题是,有没有可能让Maven只给我更改过的类?也许不是作为文件,而是作为一种变更日志(我可以自己解析)?
当然,我知道我们做错了,所以我们非常感谢您的建议!
首先:我感觉到你。
对于这个问题:如果以前版本的文件存储在SVN中,您可以尝试将它们签出到某个临时目录中,复制新编译的文件,然后在该文件夹(及其子文件夹)上生成SVN-diff。