评论由:timgilbert发表
好,所以{{0001-Adding-cp-jar-argument.patch}}向tools.deps的{{make-classpath}}部分添加了一个命令行标志({{-cp-jar}})。当这个文件存在时,tools.deps将会根据上文描述的方式生成一个路径ing jar文件,通过将类路径转换为分隔的{{file://}} URL列表,将其放入jar清单中,然后创建一个只包含清单的jar文件。这段代码比我想的要简单。
还需要额外的代码来实现正确的工作——在{{brew-install}}或Windows的等效脚本中,需要将该标志传递给make-classpath脚本来构建路径,并且然后通过{{java -cp .cpcache/1864468523.jar clojure.main}}来启动clojure。
我已经在Windows的powershell和WSL(即Linux)中测试了这段代码,通过在repl中调用{{(write-pathing-jar "path.jar" (slurp cached-cp-filename))}}。之后,我可以通过{{java -cp path.jar clojure.main}}执行Clojure以启动REPL,然后在该REPL内部调用{{(require 'clojure.tools.deps.alpha.script.make-classpath)}}来验证我是否可以加载本地命名空间。