Skip to content

Conversation

@nrdxp
Copy link
Owner

@nrdxp nrdxp commented Dec 17, 2024

This changeset includes code for evaluating eka produced lock files and injecting them into the atom's scope

Currently in draft as it is still a work in progress, but currently legacy expressions and atom dependencies evaluate successfully, for the most part

TODO

  • abstract the lock parser code
    • right now it is simply dumped into the manifest parser a la the importAtom function
  • path dependencies
    • needs support on the format side?
  • build time dependencies (typically source trees)

nrdxp added a commit that referenced this pull request Dec 23, 2024
instead parse eka produced locks with #42, which builds off of this PR
nrdxp added 3 commits January 2, 2025 09:09
The evaluation will prefer a local path, if it exists, to make
interactive development in repos with more than one atom convenient.
nrdxp added 14 commits July 19, 2025 11:56
update lock parsing code for latest, evolving lock format
Separate eval time sources (`from`) from build time sources (`get`) for
intuitive and clear API surface.
set initial source type to "build" to clarify it is primarily meant
for build sources.
Enable pins to source from another atom using a `from` key, avoiding
duplicate specs and manual syncing. Support overriding the `path` key
as well as using the `get` key to set a different `name` than the
downstream pin. Otherwise, it will cook for a pin of the same `name`.
No longer do we import a toml in the same directory as the atom root.

In keeping with the spirit of having atoms be truly self-contained, we
now parse a generic `atom.toml` file and an `atom.lock` file inside the
atom's root directory.
The config should be parsed and passed on the rust side eventually, so
there is no reason to maintain complex parsing logic here.
eka's first iteration lock format is now available for testing and we
will no longer maintain the locking expression in this repo, as it is
coupled to a specific version of eka.
@nrdxp nrdxp merged commit 6334a98 into master Nov 2, 2025
1 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants