Linux版本管理系统
我们公司需要的是一种用于Linux / C ++的版本管理工具。 我们的产品由多个库和配置文件组成。 在这里我将列出我们希望这个系统具有的基本特征:
跟踪依赖关系的能力,可以轻松增加其主版本增加的主要版本的库。 它应该在内部构建某种依赖关系图,以便知道哪些人受到更新的影响。
知道如何建立它处理的产品。 无论是特定的构建文件还是更好的 - 读取和理解makefile的能力。
与SVN一起工作,以便它可以从那里检查新版本并进行构建。
生成一些安装程序 - 以rpm或tar.gz格式。 为此目的,它应该能够理解rpm spec文件格式。
目前我们正在研究这种已经非常实用的工具。 但是我相信我们的任务不是独一无二的,应该有一些工具可以完成这项工作。
在我目前正在开发的项目中,我们使用cmake和其他Kitware工具来处理本地代码(C ++)的大部分问题。 逐点回答:
cmake脚本处理我们不同项目的依赖关系。 我们有一个依赖关系图,但我不知道是自制脚本还是cmake提供的功能。
那么cmake生成有关该平台的makefile。 如果在开发过程中要求这样做,我会为eclipse cdt和visual studio生成项目。
Cmake有几个工具,ctest和cdash,我们用它们来做日常构建,看看测试如何进行。
为了创建安装程序cmake有cpack。 从一个脚本中,它可以在Linux中生成tar.gz,deb或rpm文件,或者自动生成NSIS脚本以在Windows中生成安装程序。
对于Java代码,我们使用这里已经提到的maven和hudson。
您应该考虑使用Hudson,Maven(用于构建管理),Ivy(用于依赖关系管理)和Archiva(用于文件存档)之间的混合。
另外,如果您正在研究cross.compilation,请查看Make Project Creator(MPC)和Bakefile。
玩的开心!!
看看DDJ的这篇文章,其中提出并实现了一个更强大的构建系统概念(比make)更强大。 不确定它会适合您的要求,但它是我见过的最接近的。 几个月前我正在寻找同样的东西,然后我发现了这篇文章。
http://www.drdobbs.com/architect/218400678
链接地址: http://www.djcxy.com/p/45009.html上一篇: Release management system for Linux
下一篇: Schema of an XSD?