我将Maven构建在业余,写得不好和坦率的群集之上 - 原始的C/C++代码(意思是一些C,一些C++).问题是 - 目前流通很多,不容易更换.构建它需要大量的部落知识(你必须从立方体到立方体才能找到如何编译/构建各种部分)并且释放是完全的噩梦.(不 - 我不打算重写它,请不要问)我的问题是 - 我应该用它maven-native-plugin来代替大量的短文件或exec-maven-plugin用来简单地执行这些吗?到目前为止,我有很好的经验,后者做.NET,不知道我是应该投资native插件还是留下来exec?如果你有"Mavenizing"C/C++的经验,我很乐意得到一些建议.
我正在尝试找到一个像Maven(标准化构建和打包,工件仓库等)这样的工具,它支持Java(和C/C++),特别是Python和.NET(C#).特别需要良好的依赖管理.
我们在我们的地方运行一个混合的语言商店,目前本土的基于python的"über-buildsystem"应该可能会消失.请注意,它不会尝试进行详细构建,只处理模块/项目之间的依赖关系,下载已编译的工件(在C++情况下每个库几百兆)并在现有.sln/.vcproj上调用msbuild/easy_install/etc/etc文件来完成真正的构建.
它起作用,但主要是因为我构建它并知道它能做什么和不能做什么,并且当我需要新东西时我会扩展它.它并没有真正帮助其他开发人员进入它,我越来越觉得我们不应该关注它.(即使它没有那么多工作,似乎没有一个令人信服的选择.)
所以:
在Ant之上构建另一个Maven(但是具有更灵活的支持)(主要使用Beanshell)是我已经完成的事情.当前的Python东西是它的一个分支.
更新:
正如我上面所说,Ant + Ivy需要在顶部构建相当多,但它可能是比我们今天更好的基础,因为我们可以获得更多的构建任务和开箱即用的工件库.(参见Maven Like C++的依赖管理)
所有的帮助热烈赞赏!