Build 可用的构建工具(make等)?

Build 可用的构建工具(make等)?,build,Build,关于各种利基构建需求(.NET、持续集成等),这里有很多问题,但是,当然,我的利基需求是不同的 我现在不想问一个非常具体的问题,而是想调查一下可用的构建工具(如make、ant等),这样我可以在需要时更明智地提出后续问题 在你的答复中,请包括: 一个构建工具 链接到关于该工具的主页 如果您知道一些优点和缺点(例如,在带有cygwin的windows上运行,或特定于.NET的,等等),请列出一些(不是必需的-名称和链接是必需的) 如果您的构建工具已经在答案中,请对其进行评论,添加优点/缺点/限

关于各种利基构建需求(.NET、持续集成等),这里有很多问题,但是,当然,我的利基需求是不同的

我现在不想问一个非常具体的问题,而是想调查一下可用的构建工具(如make、ant等),这样我可以在需要时更明智地提出后续问题

在你的答复中,请包括:

  • 一个构建工具
  • 链接到关于该工具的主页
  • 如果您知道一些优点和缺点(例如,在带有cygwin的windows上运行,或特定于.NET的,等等),请列出一些(不是必需的-名称和链接是必需的)
如果您的构建工具已经在答案中,请对其进行评论,添加优点/缺点/限制/经验。您可以随意添加任意多个答案,只要它们还不存在——但不要将多个构建工具放在一个答案中

请注意,如果您重复回答,您可能会被否决-在评论中添加有关给定构建的其他信息。理想情况下,随着时间的推移,这些评论将被纳入答案中


-亚当

GNU制造

赞成者:

  • 许多任务/插件
  • 在许多平台上运行
  • 非常成熟
  • 由许多IDE、持续集成工具等支持
反对:

  • 需要Java
  • 南特

与Ant类似,Ant是.Net的构建工具

构建脚本是Python脚本。应该在Linux、Windows和Mac OS X上工作。

优点:

  • 自动依赖关系管理
  • 利用约定优于配置(强制一致的项目目录结构)
  • 使用maven的项目可以在几分钟内完成
  • 对标准java/JavaEE项目构建的出色支持
  • 在团队环境中工作良好(支持“团队”配置)
  • 内置的发布/版本控制概念
  • 与流行的JavaIDE集成
  • java OSS社区中不断增长的支持
缺点:

  • 陡峭的学习曲线(特别是与Ant相比)
  • 糟糕的在线文档(尽管新的很好)
  • 有时是令人惊讶的行为
  • 非常以java为中心
  • XML配置驱动

make的Ruby版本

优点:

  • 干净的惯用ruby语法
  • Rake文件是用ruby编写的,因此利用ruby本身而不是专有的文件格式或XML
  • RubyonRails与它紧密集成
缺点:

  • 需要ruby,但并不总是可用
  • 没有内置的打包支持/版本控制/依赖关系管理(请参阅)
    • CruiseControl/CruiseControl.Net

      专业人士

      • 可以根据所选版本使用各种构建和TDD工具
      • 自动生成生成的时间和类型-完全发布生成或更改的代码生成
      • 可以在构建中自动运行测试(nUnit、jUnit、Fitnesse等),以确保在将新代码签入项目时所有测试仍然通过
      • 与源代码管理集成
      • 生成失败时的错误报告和通知
      缺点

      • 错误报告并不总是以一种漂亮易读的格式
      • 项目的设置应该经过深思熟虑,所有被监控的项目都应该使用特定的模式来提高集成设置的效率

      跨平台构建系统生成器。它可以为VisualStudio、Eclipse CDT、KDebug、代码::块生成MaFor文件或项目文件。C++、C++、FORTRAN、java等的自动依赖性分析。

      < P> < /P> 构建脚本生成器。使用Lua来描述构建。它可以为VisualStudio、代码::块、CordelTeo、SyrPosiDebug、MyDebug等生成Mag文件或项目文件,这些文件支持C、C++、C等,包括资源和ASP.NET等。单声道支持。

      (发音为“Sake”)

      赞成-

      • 动力壳
      缺点-

      • Powershell:)
      这个项目相当新,看起来很有趣,而且功能非常强大,因为它在命令行中是“.NET”。不幸的是,我不知道有多少人会花时间学习Powershell。

      果酱家族

      BJam基于FTJam,而FTJam又基于Jam。小巧、快速、便携。C、C++的自动依赖性分析它不是生成器--它不会为辅助生成系统生成任何生成文件或其他生成文件。

      专业人士

      • 不同于ant或make的可视化和面向GUI
      • 很多内置的动作
      • 脚本生成器,用于您自己的操作
      • 与cc.net轻松集成
      缺点

      • 仅在Windows上运行
      • 不是免费的,但是你的钱很物有所值
      他们还有一个名为的工具,可以执行更多面向系统的任务。

      赞成的意见
      欺骗
      • 可能是内存密集型的

      优点:

      • 如果您喜欢的话,可以使用Perl
      • 没有使用它,否则
        :-)
      缺点:

      • 很难用谷歌搜索
      • 没有积极发展
      -

      这里有一些很好的解释:

      专业人士-

      • 超级容易开始-自动构建就像(1)解决方案名称,(2)源代码管理路径,(3)大多数项目的公司名称一样简单
      • 有限的NAnt知识是必要的
      缺点-

      • 仅适用于.NET
        • NUBuild(发音为“新建”)

          这是最新的、非常高级的.Net构建工具(一个非常智能的工具),名为NUBuild,它允许您构建VB.Net和C#项目。它极其轻量级,开源,同时易于设置,提供几乎无需触摸的维护