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

欢迎!请查看关于页面获取更多有关此如何工作的信息。

+15
tools.deps

(链接:https://sdkman.java.net.cn 文本:SDKMAN!) 是一个用于管理多个Java和JVM based SDKs并行版本的工具,与rbenv或pyenv有些类似。
我希望Clojure CLI能在(链接:https://sdkman.java.net.cn/sdks 文本:支持的SDKs)中出现,因为它提供了安装Clojure CLI和管理版本的其他方法。

Tar包 https://download.clojure.org/install/clojure-tools-(链接:版本).tar.gz依赖于{{install.sh}}来复制文件并修改clj命令,使其具有到jar的绝对路径,但SDKMAN!需要一个可以通过提取即可安装的tar包。
Leiningen最近添加了支持,并且(链接:https://github.com/technomancy/leiningen/issues/2204 文本:PR)非常有帮助。

它为SDK生产者提供了(链接:https://sdkman.java.net.cn/vendors 文本:API和Gradle)插件,用于发布新版本,标记默认版本,并广播新版本。

2个答案

+5
参考:https://clojure.atlassian.net/browse/TDEPS-113(由alex+import报告)
仅添加更多信息。

我在SDKMAN Slack频道中提出此问题,他们向我解释了与OP提到的类似的内容。

但他们确实给了我一些有关实际要求的更详细信息[1]。

```
@Jesús Gómez 当前需求尚未文档化,但可以概括如下

    * 解压时应该创建一个根文件夹(例如,解压mvnd归档会创建一个名为mvnd-0.0.4-darwin-amd64的根文件夹)
    * 在解压出的根文件夹下,需要有一个包含可执行二进制的bin文件夹
``` - Oliver Weiler

可能没有必要更改原始的`clojure-tools-...tar.gz`,只需要一个满足这些要求的替代版本(仅针对SDKMAN,但谁知道呢?)。

[1] https://sdkman.slack.com/archives/CJK9DMV6V/p1606295345021900?thread_ts=1606242509.021200&cid=CJK9DMV6V
0

实现这一点似乎有两个步骤

归档应该只包含一个顶级目录,例如clojure-1.10.3.967,并在其中包含一个包含可执行文件的bin目录。

欢迎为第一部分提供补丁,对第二部分需要什么过程感兴趣以进行持续版本维护
每个版本似乎都需要一个这样的PR:https://github.com/sdkman/sdkman-db-migrations/pull/539/files
有点过时了,疫情之后,还有机会实现吗?
...