A leiningen project.clj
to Clojure CLI deps.edn
converter.
With babashka:
bb -Sdeps '{:deps {io.github.borkdude/lein2deps {:git/sha "..."}}}' \
-m lein2deps.api --print --write-file deps.edn
With bbin:
bbin install https://raw.githubusercontent.com/borkdude/tools/main/lein2deps.clj
lein2deps --print --write-file deps.edn
With Clojure:
clj -Sdeps '{:deps {io.github.borkdude/lein2deps {:git/sha "..."}}}' \
-M -m lein2deps.api --print --write-file deps.edn
With Clojure CLI Tools:
clojure -Ttools install-latest :lib io.github.borkdude/lein2deps :as lein2deps
clojure -Tlein2deps lein2deps :print true :write-file "deps.edn"
This tool respects :java-source-paths
in project.clj
and adds a :deps/prep-lib
entry to your deps.edn
so users of your project will have to execute:
clj -X:deps prep
to compile Java sources before being able to use your project.
For some reason this doesn't work from inside the project. To compile Java locally:
clojure -X:lein2deps compile-java
You can use the leiningen plugin to automatically synchronize your project.clj
with a deps.edn
.
Add:
:plugins [[io.github.borkdude/lein-lein2deps "0.1.0"]]
to your project.clj
and then run:
lein lein2deps --write-file deps.edn --print false
To run the plugin on any invocation of lein
, add it to :prep-tasks
:
(defproject my-project "0.1.0"
:plugins [[io.github.borkdude/lein-lein2deps "0.1.0"]]
:dependencies [[org.clojure/clojure "1.11.1"]]
:prep-tasks [["lein2deps" "--write-file" "deps.edn" "--print" "false"]])
Check out neil for easily adding a test runner to deps.edn
.
If you are new to deps.edn
, check out this blog article on how to get started quickly.
Copyright (c) 2022 Michiel Borkent.
Licensed under MIT, see LICENSE
Can you improve this documentation? These fine people already did:
Michiel Borkent & Daniel KrausEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close