deps phase 2: jolt-deps tool resolves deps.edn git/local deps
A separate jolt-deps executable (mirroring jpm beside janet) resolves a deps.edn into source roots and runs jolt with them on JOLT_PATH; the runtime stays deps-agnostic. - src/jolt/deps.janet: read deps.edn (Janet parses it directly), resolve :git/* and :local/root via jpm/pm's download-bundle (git fetch + cache, no build), recurse for transitive deps, return de-duped roots. jpm loaded lazily so it's never embedded. Roots cached on a deps.edn hash. - src/jolt/deps_cli.janet + project.janet: the jolt-deps tool — path/run/repl/-e. - main: apply JOLT_PATH at runtime (the CLI ctx is frozen into the image at build, so init's env read wouldn't see it). Verified end to end against a local dep and a real git dep (medley). git only, pure clj/cljc. Test: deps-resolve-test (local deps, no network).
This commit is contained in:
parent
6ea43fb623
commit
4d8494d620
6 changed files with 234 additions and 14 deletions
|
|
@ -8,3 +8,9 @@
|
|||
(declare-executable
|
||||
:name "jolt"
|
||||
:entry "src/jolt/main.janet")
|
||||
|
||||
# Separate tool (like jpm beside janet): resolves deps.edn into Jolt source
|
||||
# roots. The jolt runtime stays deps-agnostic — it just reads JOLT_PATH.
|
||||
(declare-executable
|
||||
:name "jolt-deps"
|
||||
:entry "src/jolt/deps_cli.janet")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue