This is an experiment to compile tools.deps with GraalVM native-image.
- resolve mvn deps
- download mvn deps
- resolve git deps
- download git deps
This project is currently very experimental and any functionality or API may still change.
Not needing a JVM for dependency resolution and downloading can speed up things (you don't pay the startup time). I might want to use this for babashka.deps, the namespace in babashka that downloads deps from clojars that can be used in scripts, but it might also have other use cases.
The official Clojure CLI has classpath caching. This tool is about as fast as that without any caching.
A pre-release binaries for macOS and linux are available here.
You can also visit the CircleCI builds for more up to date binaries and download them from the artifacts.
To build from source yourself: see build.
Run the CLI to get information about usage.
To compile this project, point GRAALVM_HOME
at your GraalVM distribution and
then run script/compile
. Using GraalVM 21.3.0 Java 11 CE is recommended.
The build requires
clojure
to be installed.
After a successful build, there is a tools-deps-native
binary which you can pass a deps.edn map.