Skip to content

feat: dependency locking#9

Draft
ArjixWasTaken wants to merge 1 commit into
mainfrom
feat/amethyst-lock
Draft

feat: dependency locking#9
ArjixWasTaken wants to merge 1 commit into
mainfrom
feat/amethyst-lock

Conversation

@ArjixWasTaken

@ArjixWasTaken ArjixWasTaken commented Mar 10, 2026

Copy link
Copy Markdown
Owner

Resolves #7

@ArjixWasTaken

Copy link
Copy Markdown
Owner Author

This is quite a complicated PR, since it introduces an extra .ini file.
So I am refactoring the ini code to support multiple .ini files.

I haven't pushed a commit yet since it's not ready.

@ArjixWasTaken

Copy link
Copy Markdown
Owner Author

Ugh, it is disgusting hacking together complex .ini support in amber.
I think I'll start the Rust rewrite earlier than expected.

@Thesola10

Copy link
Copy Markdown
Contributor

Since we already require jq as a hard dependency, why not just make the lockfile JSON?

@ArjixWasTaken

Copy link
Copy Markdown
Owner Author

Hmm, that could be done

@Thesola10

Copy link
Copy Markdown
Contributor

Consider the following:

{
  "version": "1",
  "amber_version": "0.5.1-alpha",
  "dependencies": {
    "xylitol": {
      "type": "git",
      "url": "https://github.com/zlfn/xylitol.git",
      "ref": "b3e6d23bad93c9cb7997079dbd806ab2f0680594"
    }
  }
}

Contrary to Nix flakes we don't allow a parent project to override child dependencies, so we don't need a recursive format. Here the version field refers to the lockfile spec version, not the Amethyst version.

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.

Allow package locking

2 participants