ITADN
clojure/tools.deps
clojure/tools.deps · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

tools.deps

一个用于传递依赖图展开和类路径创建的功能性 API。

设计理由

Clojure “力求成为一种通用语言,适用于 Java 适用的那些领域”(引自 Rationale)。为了有效地针对 JVM 平台,Clojure 需要提供对 Java 库的便捷访问,理想情况下,应以适合动态开发的方式提供。在实践中,这意味着在两个地方满足 JVM 平台的要求:

  • 调用 JVM 进程时使用的类路径(和/或 URLClassLoaders)
  • 从 Maven 仓库下载和解析传递依赖

tools.deps 旨在提供一个功能性 API 来访问这些功能。

tools.deps 使得交互式使用 JVM 库变得简单和容易,而不会引入构建程序或项目管理等无关的关注点。(它也应该成为未来项目工具和构建工具工作的有用共享资源。)

tools.deps 将支持 Clojure 的软件包安装程序(例如 brew、apt-get 等),以提供 Clojure 安装和持续 Clojure 开发的路径。

Clojure 1.9 版本首次需要多个构件来运行 Clojure(clojure、spec.alpha 和 core.specs.alpha),因此传递依赖的问题现在在用户的第一分钟内就直接摆在 Clojure 用户面前。

当前工具链对 Maven 构件的优先导向为开发流程带来了极大的僵化和摩擦——例如,使得处理尚未构建/发布构件的库(新用户!)、在没有构件的情况下进行推测性变更、跨多个库进行相互变更、将共享依赖的管理权交给第三方工具,以及直接利用如今被广泛用作代码生命周期事实来源的 git 变得困难。

另请参阅:

发布信息

最新版本:0.31.1642

deps.edn 依赖信息:

org.clojure/tools.deps {:mvn/version "0.31.1642"}

Leiningen 依赖信息:

[org.clojure/tools.deps "0.31.1642"]

Maven 依赖信息:

<dependency>
  <groupId>org.clojure</groupId>
  <artifactId>tools.deps</artifactId>
  <version>0.31.1642</version>
</dependency>

API

有关将 tools.deps 用作库的信息,请参阅:

开发者信息

版权与许可

Copyright © 2017-2025 Rich Hickey, Alex Miller, and contributors

保留所有权利。本软件的使用和 分发条款受 Eclipse Public License 1.0 约束,该许可证可在本发行版根目录下的 LICENSE 文件中找到。以任何方式使用本软件 即表示您同意受本许可证条款的约束。您不得从本 软件中移除此声明或任何其他声明。