Clojure 命令列工具可用於啟動 Clojure repl,使用 Clojure 和 Java 函式庫,以及啟動 Clojure 程式。
最新的官方版本在此說明。預發行版本和舊版本可以在 儲存庫變更日誌 中找到。
將預設 Clojure 版本更新為 1.11.2
建立基礎的 Clojure -X:deps 程式現在採用 :dir 選項,以使用目錄內容
將 tools.deps、tools.deps.cli 更新為最新版本
CLI 發行版本現在發佈到 GitHub 的 https://github.com/clojure/brew-install
下載檔案仍可使用,但會被視為鏡像(並在 brew 中以這種方式設定)
使用 -X 或 -T 時,接受 -
作為尾隨引數,以從標準輸入讀取其餘引數
在 Windows 安裝程式中,隱藏下載進度條
TDEPS-247 - 修復相依性具有大扇出時堆疊溢位
TDEPS-249 - 在相依性擴充期間正確推入/彈出執行緒繫結
TDEPS-227 - 在 resolve-deps 結束時關閉相依性擴充執行緒
TDEPS-248 - 讓 tags
在離線時傳回已知標籤
使用 tools.deps 0.18.1354
修復 -Spom 中的回歸
更新說明,包含 -X:deps mvn-pom,而非 -Spom(最終會移除)
使用 tools.deps 0.18.1335
TDEPS-245 - 修復 -X:deps find-versions 在未正規化函式庫名稱中出現錯誤
使用 tools.deps 0.18.1331
讓本機相依性版本根據路徑進行比較
使用 tools.deps 0.18.1317
使用 tools.deps 0.18.1308
切換為透過基礎 :argmap 傳遞執行引數
函式執行通訊協定支援 -X/-T
使用 tools.deps 0.17.1297
新增環境變數,可設定為暫時允許支援 http 存放庫:CLOJURE_CLI_ALLOW_HTTP_REPO
移除 -R 和 -C 的已過時支援
清理說明文字,說明 REPL 支援 init-opts
使用 tools.deps 0.16.1285
TDEPS-234 - 預設總是包含 -XX:-OmitStackTraceInFastThrow
使用 tools.deps 0.16.1264
加入 :mvn/repos 地圖支援,以設定發布和快照政策
TDEPS-101 在 -Spom 和 -X:deps mvn-pom 中輸出儲存庫政策
使用 tools.deps.alpha 0.15.1254
TDEPS-233 bash 腳本修正過時的 jar 檢查變更
在說明和手冊頁面中加入一些遺漏的項目
TDEPS-70 - 偵測 classpath 中遺漏的 jar 並自動下載
TDEPS-232 - 加入通用 posix 安裝程式
TDEPS-200 - 清除預設使用者 deps.edn
TDEPS-219 修正 -X:deps find-versions
找不到以字母開頭的 Maven 版本
加入 :n 選項至 -X:deps find-versions
,並預設為 8
在 -X:deps prep
期間,如果存在,則使用正在準備的別名的 :exec-args
在 -X:deps prep
期間,如果需要,也準備目前的專案,加入 :current 旗標以準備目前的專案,預設為 false
修正 clojure.tools.cli.api/prep 中 deps/prep-libs! 的錯誤呼叫
改善本地依賴目錄遺失時的錯誤訊息
對於下游工具,加入新的 已知位置,以查詢最新的穩定工具版本
使用 tools.deps.alpha 0.15.1244
TDEPS-165 使用環境變數 CLJ_JVM_OPTS 將 JVM 屬性傳遞給內部 classpath 建置程序
加入支援在使用者程式執行時,將常見的 JAVA_OPTS 環境變數當作 JVM 屬性包含在內
TDEPS-228 加入支援自動推論 Sourcehut git 網址
更新 aws-api、Maven 等依賴項版本
使用 tools.deps.alpha 0.14.1222
clj -Ttools install-latest
- 精進版本篩選、排序和選取最新版本的處理方式
更新至 tools.tools v0.2.8
使用 tools.deps.alpha 0.14.1212
加入 clj -Ttools install-latest
API 函式和範例
安裝工具:clj -Ttools install-latest :lib io.github.clojure/tools.deps.graph :as graph
更新工具:clj -Ttools install-latest :tool graph
修正 1.11.1.1119 版中 clj -X:deps find-versions
的回歸錯誤
clj -X:deps find-versions
的輸出現在提供 :git/tag 和 :git/sha
更新至 tools.tools v0.2.6
使用 tools.deps.alpha 0.14.1205
修正 -X:deps prep
在傳遞式本機依賴項中的目錄內容
使用 tools.deps.alpha 0.14.1194
修正 TDEPS-213 變更中的錯誤
使用 tools.deps.alpha 0.14.1189
TDEPS-213 - 加入 -X:deps aliases
以列出可用的別名
TDEPS-226 - 針對 s3 下載進行更細緻的錯誤處理
當無法推論 git 網址時,提供更佳的錯誤訊息
使用 tools.deps.alpha 0.14.1185
TDEPS-153 - 修復更多在並發 Maven 下載期間發生的錯誤
使用 tools.deps.alpha 0.14.1178
如果未指定 Clojure 版本,則預設為 Clojure 1.11.0
TDEPS-153修正 Maven 人工製品下載中的並行問題
修正 git url 遺失或未推論時的錯誤訊息
即使使用 -Scp,仍將 :exec-fn 和 :exec-args 傳遞至 -X/-T
TDEPS-222將 pom 中的 Clojure 相依項設為編譯相依項,而非提供
TDEPS-203在 -X:deps prep
中 - 現在採用基礎設定,包括別名
TDEPS-197 -X:deps git-resolve-tags
- 現在解析為 :git/tag 和 :git/sha
-X:deps tree
- 現在採用基礎設定
-X:deps mvn-pom
- 現在採用基礎設定
-X:deps list
- 將授權縮寫清單置於資源中,並依需求載入
使用 tools.deps.alpha 0.12.1158
TDEPS-216 - 內建 :deps 別名應從類別路徑中移除專案路徑
如果在 git 儲存庫中找不到 git sha,則改善錯誤
如果暫態相依項的 prep 函式無法解析,則改善 prep 錯誤
將 AWS 相依項升級至最新版本
使用 tools.deps.alpha 0.12.1135
更新部分 Maven 暫態相依項以解決一些 CVE
更新至 tools.tools v0.2.5
新增檢查以在呼叫多個執行函式時產生錯誤
使用 tools.deps.alpha 0.12.1120
TDEPS-207修正版本範圍解析中的死結
TDEPS-215修正 s3 傳輸器並行載入期間的競爭條件
如果 deps 專案沒有本地 deps.edn 清單,則不要追蹤它以進行快取
將 maven-core 更新至 3.8.4,aws libs、tools.build、tools.tools 更新至最新
使用 tools.deps.alpha 0.12.1109
新增 clj -X:deps list
,用於列出所有傳遞依賴項及其授權資訊的完整集合 - 請參閱 文件
改善使用 -T
或 -X:deps find-versions
處理未知工具的錯誤
使用 tools.deps.alpha 0.12.1084
TDEPS-212 涵蓋更廣泛的有效 git 依賴項 URL,包括 git 檔案 URL
使用 tools.deps.alpha 0.12.1071
TDEPS-83 當本機依賴項清單變更時,使類別路徑快取失效
新增 clj -X:deps list
程式,用於列出類別路徑上的完整函式庫集合,請參閱 API 文件 以取得更多資訊
將依賴項升級至較新的版本 - aws-api、jetty-client 等
清除 -X/-T 的例外狀況處理
使用 tools.deps.alpha 0.12.1067
從 brew 公式中移除 bottle :unneeded
(不再需要)
TDEPS-209 僅從 Maven 製成品中將 jar 檔案包含在類別路徑中
更新至 tools.tools v0.2.1(clj -Ttools list
中的小幅改進)
使用 tools.deps.alpha 0.12.1058
修正本機 pom 模型建置的巢狀工作階段快取計算
使用 tools.deps.alpha 0.12.1048
更新至最新的 AWS API 函式庫
將 Maven 解析器函式庫降級,以更好地匹配 Maven 核心函式庫
使用 tools.deps.alpha 0.12.1041
改善執行例外狀況,以區分缺少命名空間與命名空間中缺少函式
使用 tools.build 取代基於 Maven 的建置程序
編譯 tools.deps 中用於建置類別路徑的進入點,以提升效能
使用 tools.deps.alpha 0.12.1036
TDEPS-199 在 S3 傳輸器中使用預設的 http-client
快取儲存庫的 S3 傳輸器
修正會話快取,使其在執行緒/繫結堆疊之間正常運作,以提升效能
將特定 Maven 版本範圍要求替換為非範圍要求,以減少儲存庫的元資料查詢
為效能載入並快取 Maven 設定一次
快取版本範圍解析結果以提升效能
使用 tools.deps.alpha 0.12.1019
deps.edn
如果 git 函式庫名稱遵循儲存庫慣例名稱,現在可以推斷 :git/url
(:git/url
也可以明確指定,並且優先)
現在可以指定 :git/tag
和字首 :git/sha
,而不是完整的 sha。兩者都必須指向相同的提交。
:sha
已重新命名為 :git/sha
,但原始名稱仍支援,以維持向後相容性
:deps/prep-lib
- 可以使用新的頂層金鑰來說明在將來源函式庫新增至類別路徑之前,應如何準備該函式庫。此金鑰的值是一個包含 :alias
、:fn
和 :ensures
的對應。請參閱 準備文件 以取得更多資訊。
:tools/usage
- 可以使用新的頂層金鑰為工具提供 :ns-default
和 :ns-aliases
內容
工具 - 可以使用本地名稱安裝的基於 git 的程式。工具可以在 deps.edn 中提供自己的使用內容。
新的 -T
選項類似於 -X
(執行函式),但不會使用專案類別路徑,而是使用工具類別路徑(並預設新增 :paths ["."]
)。-T:aliases
否則與 -X
相同。-Ttoolname
透過名稱解析已命名工具,並使用該工具函式庫。
TDEPS-198 - 如果使用過 future/agent,-X
和 -T
將不會等待退出
TDEPS-182 - 改進不建議使用的訊息,使其更準確
TDEPS-183 - 修復 -Sdescribe 輸出,使其在 Windows 上成為有效的 EDN
TDEPS-179 - 修復當 :classpath-overrides 移除了路徑時,類別路徑不正確
延遲計算本地儲存庫路徑(不要在載入時計算)
使用 tools.deps.alpha 0.12.1003
新的 -X:deps 程式
find-versions
- 尋找 Maven 或 git 函式庫或工具的版本
help/dir
- 列出工具命名空間中可用的函式
help/doc
- 列出工具命名空間或函式的文件
在 來源程式庫和組建 中閱讀更多資訊。
新增支援 -X 呼叫中的 尾隨 kvs 清單(類似於 Clojure 1.11 尾隨清單到變數參數呼叫)
將所有 Maven 相依項更新至最新版本(maven-resolver 1.7.0、maven core 1.8.3)以解決這些 安全性疑慮
CVE-2020-13956 - 升級 Maven 使用的 Apache HttpClient 相依項
CVE-2021-26291 - 有關 Maven 儲存庫的潛在安全性問題
由於可能發生中間人攻擊,預設情況下已封鎖 http 儲存庫存取。tools.deps/Clojure CLI 一直在預設儲存庫清單(central 和 clojars)中使用 https 儲存庫,因此這主要影響在 deps.edn 中定義的任何明確 http 儲存庫
擔心傳遞式 pom 相依項(或其超級 pom)會「劫持」儲存庫網址,從惡意儲存庫下載人工製品。Maven 在此處未進行任何變更,但澄清了 此頁面 上儲存庫的解析方式。從相依項的角度來看,我們只使用在頂層 deps.edn 中宣告的儲存庫(如果傳遞式相依項需要自訂儲存庫,您也需要在頂層新增它)。對於 tools.deps 使用 pom 相依項,我們會提供頂層 deps.edn 檔案的儲存庫(應始終優先放置 Maven Central 和 Clojars),然後將其餘部分委派給 Maven。
使用 tools.deps.alpha 0.11.922
TDEPS-177 - 修正 Maven 鏡像以透過 ID 查詢,而非名稱
在擷取 git 相依項時移除旗標,以便舊版 git 可以正常運作
調整一些警告訊息
清理腳本以簡化變數替換
使用 tools.deps.alpha 0.11.918
git deps:從使用 jgit 切換為外殼 git(必須為 git >= 2.5)
新的環境變數用於控制
GITLIBS_COMMAND
- 外殼 git 時要呼叫的命令,預設值 = git
GITLIBS_DEBUG
- 設定為 true
以列印 git 命令和輸出至 stderr,預設值 = false
僅在無法解析 sha 時才執行 git fetch 以提升效能
將 tools.cli 和 aws api 的依賴版本升級為最新版本
使用 tools.deps.alpha 0.11.905
修正 clj -X:deps git-resolve-tags
以更新 sha 以符合標籤
使用 pom.xml 的 git 或本機依賴項的效能改善
使用 tools.deps.alpha 0.9.884
新增 -version 和 --version 選項
TDEPS-56 - 修正 main-opts 和 jvm-opts 在空白處的字詞拆分
TDEPS-125 - 如果有設定,使用 JAVA_CMD(感謝 Gregor Middell!)
如果 :paths
或 :extra-paths
參照專案根目錄以外的目錄,則新增警告(未來將變為錯誤)
使用 tools.deps.alpha 0.9.871
改善 git 依賴項版本關係無法確定的錯誤
切換至 1.10.2 作為預設的 Clojure 版本
使用 tools.deps.alpha 0.9.863
設定 -X ex-info 錯誤的結束代碼
同步說明中的別名 CLI 語法
使用 tools.deps.alpha 0.9.857
clj -Stree
/ clj -X:deps tree
的新、更具資訊性的樹狀格式
新增 選項 以搭配 clj -X:deps tree
使用
使用 tools.deps.alpha 0.9.857
修正使用 jdk 設定檔啟用在具有 pom 檔案的本機依賴項
修正 -X 的錯誤處理,避免重複拋出
新增未帶別名的 -A 的錯誤處理
使用 tools.deps.alpha 0.9.840
修正 clj -X:deps tree 將 tools.deps.alpha 加入 tree
修正 clj -X:deps mvn-pom 將 tools.deps.alpha 加入 pom 依賴項
修正 clj -X:deps git-resolve-tags 無法運作
TDEPS-169 - 修正 clj -X:deps mvn-install 在 jar 上,也會安裝嵌入式 pom
修正 clj -Spom 不尊重 -A 的依賴項修改(回歸)
使用 tools.deps.alpha 0.9.833
讓 edn 讀取容忍未知的標記文字
更新 maven-resolver 和 aws-api 的最新依賴項
使用 tools.deps.alpha 0.9.821
修正處理傳遞依賴項,當在依賴項擴充中發現較新版本的依賴項
TDEPS-168 - 改進 -X 錯誤訊息處理
使用 tools.deps.alpha 0.9.816
新增 執行模式 (-X)
新增 準備模式 (-P)
擴充 main 執行 (-M) 以支援所有 argmap 引數
新增 命名空間解析 的新 argmap 屬性
:ns-aliases 和 :ns-default
新增 clojure.tools.cli.api 可透過 -X:deps 別名取得
clj -X:deps git-resolve-tags
clj -X:deps mvn-install
clj -X:deps mvn-pom
clj -X:deps tree
已過時 -R、-C(改用 -X、-M 或 -A)
已過時 deps.edn 中未限定的函式庫名稱(使用完全限定的函式庫名稱)
已過時別名工具引數 :deps 和 :paths(使用 :replace-deps 和 :replace-paths)
已移除 -O(使用 -X、-M 或 -A)
已移除 -Sresolve-tags(使用 -X:deps git-resolve-tags)
TDEPS-152 - 修正 -Spom 產生與 srcDirectory
TDEPS-155 - 改善對錯誤座標的錯誤處理
TDEPS-167 - 處理 pom deps 中的絕對資源路徑
使用 tools.deps.alpha 0.9.810
當相同 lib/版本中排除設定不同時,重新處理排除處理
使用 tools.deps.alpha 0.8.709
(Windows)將 -Spath 寫入輸出,而非寫入主機
TDEPS-152 - 修復 pom gen 中錯誤新增 srcDirectory
TDEPS-155 - 新增錯誤檢查,以檢查遺失的 :mvn/version
使用 tools.deps.alpha 0.8.695
TDEPS-150 - 修復支援 -Scp 旗標的回歸(避免解析 deps)
TDEPS-148 - 修復 git/local dep 中未包含 deps.edn 的不正確路徑解析
使用 tools.deps.alpha 0.8.677