No description, website, or topics provided.
Switch branches/tags
v0.0 tools.deps.alpha-0.5.452 tools.deps.alpha-0.5.442 tools.deps.alpha-0.5.435 tools.deps.alpha-0.5.425 tools.deps.alpha-0.5.417 tools.deps.alpha-0.5.410 tools.deps.alpha-0.5.398 tools.deps.alpha-0.5.393 tools.deps.alpha-0.5.388 tools.deps.alpha-0.5.383 tools.deps.alpha-0.5.373 tools.deps.alpha-0.5.351 tools.deps.alpha-0.5.342 tools.deps.alpha-0.5.338 tools.deps.alpha-0.5.334 tools.deps.alpha-0.5.329 tools.deps.alpha-0.5.323 tools.deps.alpha-0.5.317 tools.deps.alpha-0.4.295 tools.deps.alpha-0.4.291 tools.deps.alpha-0.4.277 tools.deps.alpha-0.4.276 tools.deps.alpha-0.3.260 tools.deps.alpha-0.3.254 tools.deps.alpha-0.3.249 tools.deps.alpha-0.3.245 tools.deps.alpha-0.3.240 tools.deps.alpha-0.3.236 tools.deps.alpha-0.3.231 tools.deps.alpha-0.3.225 tools.deps.alpha-0.3.220 tools.deps.alpha-0.2.196 tools.deps.alpha-0.2.190 tools.deps.alpha-0.2.183 tools.deps.alpha-0.2.179 tools.deps.alpha-0.2.173 tools.deps.alpha-0.2.167 tools.deps.alpha-0.2.162 tools.deps.alpha-0.2.155 tools.deps.alpha-0.2.140 tools.deps.alpha-0.2.135 tools.deps.alpha-0.2.130 tools.deps.alpha-0.2.122 tools.deps.alpha-0.2.116 tools.deps.alpha-0.1.108 tools.deps.alpha-0.1.103 tools.deps.alpha-0.1.100 tools.deps.alpha-0.1.98 tools.deps.alpha-0.1.94 tools.deps.alpha-0.1.90 tools.deps.alpha-0.1.85 tools.deps.alpha-0.1.78 tools.deps.alpha-0.1.73 tools.deps.alpha-0.1.68 tools.deps.alpha-0.1.62 tools.deps.alpha-0.1.56 tools.deps.alpha-0.1.40 tools.deps.alpha-0.1.35 tools.deps.alpha-0.1.29 tools.deps.alpha-0.1.14
Nothing to show
Clone or download
Alexander Miller
Alexander Miller add example to api doc
Latest commit 433965a Sep 18, 2018

README.md

tools.deps.alpha

A functional API for transitive dependency graph expansion and the creation of classpaths.

Rationale

Clojure "endeavors to be a general-purpose language suitable in those areas where Java is suitable" (from Rationale). To effectively target the JVM platform, Clojure needs to provide ready access to Java libraries, ideally in a way suited for dynamic development. In practice, this means meeting the JVM platform in two places:

  • the classpath used when invoking JVM processes (and/or URLClassLoaders)
  • transitive dependency download and resolution from Maven repositories

tools.deps.alpha aims to provide a functional API to access these capabilities.

tools.deps.alpha makes it simple and easy to interactively consume JVM libraries, without dragging in unrelated concerns of building programs or project management. (It should also be a useful shared resource for future work on project and build tools.)

tools.deps.alpha will support package installers for Clojure (e.g. brew, apt-get, etc) to provide a path for Clojure installation and ongoing Clojure development.

The Clojure 1.9 release for the first time requires multiple artifacts to run Clojure (clojure, spec.alpha, and core.specs.alpha) and thus the issues of transitive dependency are now immediately in front of a Clojure user in the first minute.

Maven-artifacts-first orientation of current tooling has created great rigidity and friction for dev processes - making it hard to e.g. work with libs not yet building/publishing artifacts (new users!), working on speculative changes w/o artifacts, working on mutual changes across multiple libs, give control to a 3rd party tool to manage shared dependencies, and to directly leverage git which is now widely used as a source of truth for code lifecycles.

Also see:

Release Information

Latest release: 0.5.452

deps.edn dependency information:

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

Leiningen dependency information:

[org.clojure/tools.deps.alpha "0.5.452"]

Maven dependency information:

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

API

For info on using tools.deps as a library, see:

Developer Information

Copyright and License

Copyright © 2017 Rich Hickey, Alex Miller, and contributors

All rights reserved. The use and distribution terms for this software are covered by the Eclipse Public License 1.0 which can be found in the file epl-v10.html at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software.