Welcome! Please see the About page for a little more info on how this works.

+14 votes
in tools.deps.alpha by

(link: https://sdkman.io text: SDKMAN!) is a tool for managing parallel versions of multiple Java and JVM based SDKs, somewhat similar to rbenv or pyenv.
I'd like to see Clojure CLI in (link: https://sdkman.io/sdks text: the supported SDKs) as it gives the alternative way to install Clojure CLI and manage versions.

The tarball https://download.clojure.org/install/clojure-tools-(link: version).tar.gz relies on {{install.sh}} to copy files and to modify clj command to have an absolute path to the jar, but SDKMAN! requires the tarball that is installable by just extracting.
Leiningen added a support while ago and (link: https://github.com/technomancy/leiningen/issues/2204 text: the PR) would be helpful.

It provides (link: https://sdkman.io/vendors text: API and Gradle) plugin for SDK producers to release new versions, mark a version as the default, and broadcast new releases.

2 Answers

+5 votes
Reference: https://clojure.atlassian.net/browse/TDEPS-113 (reported by alex+import)
Only to add more info.

I asked this in the SDKMAN Slack channel, and they explained me sort of the same the OP mentioned.

But they did gave me some more details[1] about the actual requirements:

@Jesús Gómez The requirements are currently not documented, but boil down to:

    * the archive when extracted should create a root folder (e.g. the mvnd archive when extracted creates a root folder named mvnd-0.0.4-darwin-amd64 )
    * directly under the extracted root folder, there needs to be a bin folder with the executable binaries
``` - Oliver Weiler

Maybe there is no need to change the original `clojure-tools-...tar.gz` and have an alternative one with these requirements (just for SDKMAN, but who knows?).

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

It seems there are two steps to achieving this

The archive should contain a single top-level directory like clojure-, and inside there a bin directory with the executables.

Patch welcome for the first part, interested in more details on what process is required for ongoing version maintenance for the second part
Seems every version would require a PR like this: https://github.com/sdkman/sdkman-db-migrations/pull/539/files