我正在尝试找到像 Maven(标准化构建和打包、工件 repo 等)这样的工具,它支持的不仅仅是 Java(和 C/C++),特别是 Python 和 .NET(C#)。尤其需要良好的依赖性管理。
我们在我们的地方经营着一家混合的语言商店,目前本土的基于 python 的“über-buildsystem”应该会消失。请注意,它不会尝试进行详细的构建,只是处理模块/项目之间的依赖关系,下载编译的工件(在 C++ 案例中每个库几百兆)并在现有的 .sln/.vcproj 上调用 msbuild/easy_install/etc /etc 文件来完成真正的构建。
它可以工作,但主要是因为我构建了它并且知道它可以做什么和不能做什么,并且当我需要新东西时我会扩展它。这并没有真正帮助其他开发人员参与进来,而且我越来越觉得我们不应该专注于此。(尽管工作量不大,而且似乎也没有令人信服的替代方案。)
所以:
- Python 的 setuptools 似乎只适用于 Python(以及一些 c++ -> .pyd 编译)。
- Maven 主要用于 Java,还有一些 C/C++,主要用于 JNI。
- 对于 C/C++,没有……什么都没有?(用于构建的 qmake/cmake)
- 对于 .NET 有一些东西,但它们在 Visual Studio 和 MSFT 工具链之外工作得很好吗?
在 Ant(主要使用 Beanshell)之上构建另一个 Maven(但具有更灵活的支持)是我已经做过的事情。当前的 Python-stuff 是它的一个分支。
更新:
如上所述,Ant+Ivy 需要在上面构建相当多的东西,但它可能比我们现在拥有的基础更好,因为我们获得了更多的构建任务和开箱即用的工件 repo。(参见C++ 的 Maven Like 依赖管理)
热烈感谢所有帮助!