2024年Clojure状态调查!中分享你的想法。

欢迎!请查看关于页面,了解更多关于这个网站的信息。

+2
工具
编辑

有没有考虑过为基于tools.build的构建提供“标准”构建任务名称的想法?

这可能是在tools.build中的实际代码(或在它之上的一个层),或者只是一个官方、发布的规范。目前我更感兴趣的是这个概念是否在考虑中,如果是的话,可能是什么样的,而较少关心实施的具体细节。

这很重要,因为虽然让作者按照自己的意愿命名构建任务对这些作者有一些(很小?)价值,但它给构建的消费者带来了碎片化的体验——消费者无法对每个他们想要自己构建的新基于tools.build的项目做出任何假设。

尽管人们可以通过 introspect 构建脚本来找出如何操作它,但这对于基于构建的下游自动化来说要困难得多;包括(但不限于)jitpack.io,Heroku等系统。

我已经开始尝试使用工具.build,现在的版本让人感觉有点像2004年左右的Java构建环境(在Maven 1.0发布之前)。在那个时期,Apache Ant是主导的构建工具,每个Ant构建脚本都是独一无二的花朵,迫使消费者在有效使用之前花费时间学习。尽管Apache Ant存在许多实际的缺陷,但至少Maven 1.0解决了那个问题。虽然将tools.build与Apache Ant相比较在许多方面都是明显的libel(Tools.build的脚本语言、可组合性和依赖管理组件显然领先于Apache Ant的任何东西),但工具.build构建脚本缺少一个良好定义的“接口”,这让我有了强烈的似曾相识的感觉...

1 答案

0

我认为到目前为止还没有什么“官方的”。但如果还没有,你可能想看看Sean Corfield的build-clj


编辑
是的,我正在使用build-clj。事实上,它促使我思考这个问题。

[编辑] 为了增加一些细节,虽然build-clj提供常见的构建任务的_实现_,但它没有关于这些构建任务的_接口_(后者是我问题的焦点)
...