Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Buildr vs Gradle,利弊?_Scala_Ide_Comparison_Gradle_Buildr - Fatal编程技术网

Scala Buildr vs Gradle,利弊?

Scala Buildr vs Gradle,利弊?,scala,ide,comparison,gradle,buildr,Scala,Ide,Comparison,Gradle,Buildr,让某人同时使用Buildr和Gradle,并可以对这些构建工具进行比较。从一开始看,他们非常相似。但是选择什么呢。此外,听到Scala支持和各种IDE集成(IDEA、NetBeans、Eclipse)也很高兴 谢谢。看看这是否有用(可能已经过时): 如果与BuildR相比,我推荐Gradle: 1.Groovy对于JVM生态系统来说比Ruby更“原生”。即使你使用JRuby,你仍然需要安装很多gems 2.BuildR的开发正在爬行。他们已经很久没有添加新功能了 话虽如此,我还是要质疑使用其中任

让某人同时使用Buildr和Gradle,并可以对这些构建工具进行比较。从一开始看,他们非常相似。但是选择什么呢。此外,听到Scala支持和各种IDE集成(IDEA、NetBeans、Eclipse)也很高兴

谢谢。

看看这是否有用(可能已经过时):

如果与BuildR相比,我推荐Gradle: 1.Groovy对于JVM生态系统来说比Ruby更“原生”。即使你使用JRuby,你仍然需要安装很多gems 2.BuildR的开发正在爬行。他们已经很久没有添加新功能了


话虽如此,我还是要质疑使用其中任何一种方法:有了编写任何任务脚本的能力,构建将有很多逻辑的风险,人们需要学习这些逻辑才能维护它。由于这不是产品的主要逻辑,您可能会遇到不想维护构建或更糟的人,他们以不正确的复制粘贴方式(例如,性能方面)进行操作。对于Maven,pom中没有逻辑。此外,使用Gradle/BuildR意味着要构建产品,需要安装Gradle/BuildR。Maven在这里要标准得多

我已经试过使用这两种方法,我绝对推荐Gradle。虽然这两个版本的表现力几乎相同,但我发现Gradle更稳定(自1.0版以来),安装工作量更少,文档记录也更好。尽管Buildr无疑是一项巨大的努力,但目前Gradle的制作更加专业

Gradle面临的唯一问题是缺乏对重用ivy.xml(和ivysettings.xml)的本地支持,尽管Gradle实际上使用ivy作为其依赖引擎。这项功能已承诺在不久的将来某个时候推出。另一方面,Buildr有一个随时可用的插件(尽管它不是很可配置)

如果您需要从Maven迁移,我将对这两种工具及其对所需特性的支持进行一些调查。对于新项目,我推荐格拉德尔


两者都没有很好的Eclipse支持,但是Gradle有一个正在开发的Eclipse插件,它的工作方式非常类似于Ant插件。另外,Gradle生成的Eclipse设置文件是高度可定制的,因此这是将其与Eclipse集成的另一种方式。

我研究了Gradle和buildr,最后选择了buildr,因为Gradle有一个巨大的缺点:构建系统的启动时间。buildr更为快速,为我提供了更快的增量构建。我觉得格拉德尔的表现几乎让我无法忍受。只需考虑一个构建系统被踢开多少次并加上固定的开销。


顺便说一句,我发现包含两个构建系统(buildr和gradle)的构建服务器不是很有用,而且容易出错(也就是说:我花在故障排除上的时间比它实际加快的时间要多)。

谢谢你的回答。是的,我经常使用maven,但是我觉得它太冗长,不灵活。但我也担心你所说的脚本构建工具,但我想在我的玩具项目中尝试Buildr或Gradle;相反,您可以使用,它会自动引导Gradle(也在您的CI计算机上)。我不同意您建议使用maven而不是Gradle。我过去都用过这两种方法,换成gradle我再高兴不过了。现在我有了灵活的构建和更短的构建脚本。这是一个双赢的局面。gradle的复制粘贴复制也少了很多。如果您的构建非常普通,那么在使用maven时您需要编写自己的maven插件(如果它很简单,那么可维护性就不是问题)。为了可维护性,我希望通过脚本来宣传这一点。虽然我有点同意gradle的启动时间比较慢,但gradle有很多内置逻辑,不去做它已经完成的任务。我发现最新的“功能”非常强大,即使是定制任务也很简单。而且,我相信,因为gradle仍然在里程碑地带,所以他们仍然在解决功能上的问题。他们可能会以“让它工作,让它正确,然后让它快速”的理念来对待这个项目。这意味着gradle不仅可以正常工作,而且速度也很快。gradle守护进程消除了启动开销,使gradle更加敏捷。我认为IDE集成对大多数人来说绝对是一个杀手。就个人而言,我希望在IDE中构建文件的编译器与在其他任何地方(如构建服务器)运行时的编译器相同。