Description
This might be possible today, but I have yet to figure it out how it would be doable:
I want to build 2 uberjars from my application code.
- the "normal" one, just using
deps.edn
with no aliaes whatsoever. - a custom dev-specific one, just with AOT'd code. This way FE devs are not compiling every single day the whole classpath including
:test
and:dev
aliases from scratch.
Use-case 1. works perfectly.
For 2. I tried defining a custom buildCommand
with a build.clj
that calls create-basis
with the necessary aliases.
This didn't work as it tried resolving the maven dependency ranges during sandboxed build-time (network calls).
https://github.com/clojure/tools.deps.alpha/blob/master/src/main/clojure/clojure/tools/deps/alpha/extensions/maven.clj#L79-L80
From a preliminary look https://github.com/bevuta/clojure-nix-locker seems to be able to solve this problem using it's design, but I much prefer clj-nix conceptually and don't want to switch away for this reason.
Is this a solveable problem using the current lock-file layout?