【问题标题】:Is there any Maven like tool that works for many languages?是否有适用于多种语言的类似 Maven 的工具?
【发布时间】:2011-05-21 20:59:58
【问题描述】:

我正在尝试寻找像 Maven(标准化构建和打包、工件存储库等)这样的工具,它支持的不仅仅是 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。 (见Maven Like dependency management for C++

热烈感谢所有帮助!

【问题讨论】:

  • 这是一个非常好的问题。我也在寻找可以利用工件存储库的工具。你现在有一些更新吗?
  • @SteinwayWu:不。我认为最好的方法是 Ant/Ivy,因为您可以在那里制作自己的任务并将 Ivy 用作通用工件管理系统。我们仍在运行我的 python 系统,其中包含用于工件 repo 的静态 http 服务目录,因为我们目前只存储(从 C++ 编译的)第三方库。
  • 我发现最新的 CMake 可以支持本地存储库之类的东西。它通过 CMake/CPack 及其导入/导出功能得到支持。您可能想在 cmake.org 上查看它们以获取最新信息。我将在我的 ATS 项目的建设中尝试它。
  • @SteinwayWu:你成功了吗?如果是这样,您可以发布答案吗?

标签: build maven dependency-management


【解决方案1】:

试试waf

【讨论】:

  • 整洁。这看起来与我现在使用的基于 python 的东西非常相似。我一定会尝试一下。
  • Waf 看起来相当有用,但相当低级,而且我找不到任何 artifact-repo 支持。嗯。
猜你喜欢
  • 2015-12-26
  • 2010-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-25
  • 1970-01-01
  • 2011-06-18
  • 1970-01-01
相关资源
最近更新 更多