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

欢迎!请参阅关于页面以了解关于该平台的更多信息。

+15 投票
tools.deps

(链接:https://sdkman.java.net.cn 文本:SDKMAN!) 是一种用于管理多个Java和JVM SDK并行版本的工具,某种程度上类似于rbenv或pyenv。
我希望看到Clojure CLI在(链接:https://sdkman.java.net.cn/sdks 文本:支持的SDK中),因为它为安装Clojure CLI和管理版本提供了另一种方式。

该tarball https://download.clojure.org/install/clojure-tools-(链接:版本).tar.gz依赖于{{install.sh}}来复制文件并将clj命令修改为指向jar文件的绝对路径,但SDKMAN! 需要的是可以仅通过解压即可安装的tarball。
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频道中提出了这个问题,他们向我解释了最初的提问者所提到的类似情况。

但他们确实给了我一些关于实际要求的更多细节[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
有些陈旧了,疫情之后了,但有机会将其加入进来吗?
...