I just moved my deps out of Leiningen and into a deps.edn
file using lein-tools-deps. You can still use Leiningen as your build tool and use the plugins. But you can pull git dependencies (and all your other dependencies) using deps.edn
.
Your project.clj
looks something like this:
(defproject example-project "0.1.0-SNAPSHOT"
:source-paths [] ;; provided by lein-tools-deps
:resource-paths [] ;; provided by lein-tools-deps
:min-lein-version "2.0.0"
:main example.core
:aot [example]
:jar-name "example.jar"
:plugins [[lein-tools-deps "0.4.5"]]
:middleware [lein-tools-deps.plugin/resolve-dependencies-with-deps-edn]
:lein-tools-deps/config {:config-files [:install :project]})
and then your deps.edn
is also on the project root and looks something like this:
{:paths ["src" "resources"]
:deps {org.clojure/clojure {:mvn/version "1.10.1"}
org.clojure/data.json {:mvn/version "1.1.0"}
github/repo {:git/url "https://github.com/github/repo.git"
:sha "e5f5c9e6839191f1e37ddfa51cf442b2d5403ff3"}}}