HaxeFoundation / haxe-evolution

Repository for maintaining proposal for changes to the Haxe programming language
111 stars 58 forks source link

Improvements to Per-Project Haxelib Setups #118

Closed EliteMasterEric closed 4 months ago

EliteMasterEric commented 4 months ago

Currently a draft PR as I hammer out the details on what the eventual solution for this specifically looks like (it would probably be a file with a name something like haxelib.lock in JSON format located at the root of the project folder), but would love feedback in the meantime.

EliteMasterEric commented 4 months ago

For reference, the hmm.json implements this like so::

{
  "dependencies": [
    {
      "name": "library1",
      "type": "git",
      "dir": null,
      "ref": "2d83fa863ef0c1eace5f1cf67c3ac315d1a3a8a5",
      "url": "https://github.com/user/repo"
    },
    {
      "name": "library2",
      "type": "haxelib",
      "version": "1.1.0"
    }
}

Not sure at this point if we need anything else (notably, this allows for libraries to be defined as subdirectories of git repositories, which I believe haxelib install all currently does not provide for)

EliteMasterEric commented 4 months ago

Closing because I'm dumb and didn't realize this exists:

https://github.com/HaxeFoundation/haxelib/pull/610

acarioni commented 4 months ago

Another alternative is lix.