自动化构建工具是什么_构建工具可以互相学习什么?

自动化构建工具是什么

在我们的交互式构建工具比较的第三部分中,我们询问了Gradle,Ant和Maven的构建专家,他们的构建系统可以从那里的其他工具中学到什么……。

JAXenter:您可以从其他构建系统中学到什么来选择您的构建系统?

汉斯·多克特(Grads) :我们显然已经从Ant和Maven那里学到了很多东西,并且其中的大部分都已并入Gradle。 但是现在,这个过程或多或少已经完成。 将来,Gradle将主要从与其他平台和语言相关的构建系统中学习。 这些通常提供了Java世界中没有的非常强大的功能-许多人不知道的功能。 这种功能的一个示例是功能强大的通用增量构建。 我们已经在Gradle 0.9中实现了此功能。 另一个有趣的功能是应用于输入/输出模式的基于规则的方法。 这些有助于定义转换,例如匹配特定模式的文件。 Rake和SCons是我们正在仔细研究的两个构建系统。 基本上,我们认为输入和输出的“丰富模型”对于为并行和分布式构建实施有效的解决方案非常重要。

最后,我们还希望提供其他不错的功能,例如增量测试。

Matthew McCullough(Maven) :我看到了其他构建系统及其吸收传递回Maven生态系统的三件事。

第一个发现是,库依赖管理,甚至是传递依赖管理,是所有现代应用程序都必须面对且所有构建系统都必须解决的困难但必要的挑战。 在过去的八年中,Maven一直在这方面负责。它提供了一个中央存储库,该存储库的质量随着时间的推移不断提高,并且在过去一年中通过Sonatype的OSS托管和镜像[link]设施进行了重大改进。

第二个观察结果是,社区将在反馈,建议,测试和修复方面做出更多贡献,并为您提供更多方便的渠道。 以Maven为例,由于许多辅助项目已移至GitHub,因此贡献的障碍已达到当今技术上几乎为零的水平。 没有任何许可,您可以简单地创建一个项目,贡献新代码或修复,然后向核心开发团队发出请求请求。 没有补丁,有时甚至没有JIRA。 快速社区贡献。

第三,其他构建系统已通过扩展工具的方式显示了社区对渐变草原的兴趣。 一个新的Maven插件可能是正确的选择,但是较小的增强功能也很方便。 如今,在Maven中,它们采取了导入作用域依赖性,继承,原型,antRun脚本和gmaven脚本的形式。 在不久的将来,这些将包括多语言宏,POM混入和用于settings.xml等方面的可插入提供程序。

当我深入从事该领域的Maven部分时,我要感谢Maven,Ant,Gant,Rake,Buildr和Gradle项目的所有贡献者,因为它们使JVM上的所有开发人员最终成为了该项目的最终赢家。这个健康的构建工具选项生态系统,竞争激烈。 感谢您让我为这篇比较文章的Maven方面做出贡献!

JanMatèrne(Ant) :依赖关系管理和标准方法。 使用Maven,您可以在没有“主要干预”的情况下开始构建,并且可以进行自动依赖项管理。 Maven构建还可以利用现有的,储备充足的存储库和免费的RepositoryManager。

同时,Ivy提供了将此功能集成到您自己的构建文件中的可能性,同时像Ant一样强调灵活性。 因此,使用Ivy,不仅可以配置应使用的工件,而且还可以配置如何解决版本,如何处理冲突(例如,Modul-A需要C的版本1,Modul-B需要C的版本2),甚至定义这些工件采用什么形式(JAR文件,XSD,Word等…)

Maven从项目对象模型(POM)接收有关如何处理项目的信息。我喜欢这种方法的地方是,您可以以最小的努力完成配置。 所有例程均基于POM中的数据。

使用Ant,一切都在“任务”级别配置。 这意味着在不损害向后兼容性的情况下不能更改配置–但是,Ant中有一个原型“ Autoconf”机制用于引入“异常配置”。

Maven执行的标准例程在插件中实现,例如Javadoc文件的生成。 这些标准例程在POM中指定,或者在SuperPOM上继承。 使用Ant,可以定义一组标准,例如在公司网络或Internet上,然后由命令将其合并

从Ant 1.8开始,可以导入URL。 我在这里看到两个潜在的危险:首先,它使我依赖于URL的持续可用性,其次,我必须信任URL的内容。 如果URL是由您的公司维护的,这可能不是问题,但是可以通过Internet? 过去,甚至Apache-Server也遭到了破坏!

JAXenter:感谢我们所有专家的参与! 有关构建工具的更多信息,请务必查看我们比较的第一部分和第二部分


翻译自: https://jaxenter.com/what-can-the-build-tools-learn-from-one-another-102178.html

自动化构建工具是什么

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值