欢迎!请查看 关于 页面以了解更多关于如何使用本站的信息。
由于 Clojars 现在要求许可证,需要上传到 Clojars 的项目需要在 jar 的 pom 文件中添加许可证块。使用 build.tools 可以创建 pom.xml,手动编辑它以包含许可证部分,然后使用该 pom 创建 jar。但这是一种手动方法。
是否有计划为 write-pom(和 gen-pom)添加选项,以允许程序化插入许可证?
write-pom
gen-pom
tools.build v0.9.6 现在包含一个额外的 :pom-data 属性,可以用于在生成 pom 文件时以 hiccup 风格提供授权(以及任何其他 pom 数据)。
文档:https://clojure.github.io/tools.build/clojure.tools.build.api.html#var-write-pom
示例
(b/write-pom ... :pom-data [[:licenses [:license [:name "Eclipse Public License 1.0"] [:url "https://opensource.org/license/epl-1-0/";] [:distribution "repo"]]]])
write-pom 已可以使用“模板”pom.xml文件来生成最终的、上传的pom.xml文件。这正是 deps-new和clj-new生成的 — 请参阅该模板文件的源代码
pom.xml
deps-new
clj-new
https://github.com/seancorfield/deps-new/blob/develop/resources/org/corfield/new/lib/root/template/pom.xml
我就是这样处理我的FOSS项目的,比如next.jdbc。
next.jdbc
https://github.com/seancorfield/next-jdbc/blob/develop/template/pom.xml
并且
https://github.com/seancorfield/next-jdbc/blob/develop/build.clj#L45
我认为tools.build不应该添加一个:license选项——还有很多其他字段应该是上传的pom.xml文件中的一部分,但是write-pom也省略了这些,而:src-pom选项让您可以提供所有这些。
tools.build
:license
:src-pom
我认为更多的文档可以推荐使用“模板”pom.xml文件(我还会更新clojure-doc.org的tools.build手册以反映这一点)。
clojure-doc.org