Hi, @tsloughter , thanks for your reply.
What exactly are you trying to accomplish?
I would like to do this, but with a file:
{deps,[
{cowboy, {git, "git://github.com/ninenines/cowboy.git", {tag, "1.0.1"}}}
This is clean, effective and portable.
Do you want to use an application as a dependency on another machine without putting it to git or hex?
Yes, I want to have a library that I can copy between machines without having to put it on the internet.
If it is local you can just use a symlink in _checkouts.
Yes. This is clean and simple, but it is not handy if I want to have multiple versions. Unfortunately backwards incompatible changes happen, projects use old versions, etc.
If you need a different version in different projects then you’d need to make multiple copies and symlink to the appropriate one, but no need to create a tarball in the case you are working locally.
Yes but that implies having multiple copies of a project checked out somewhere. And also making sure I don’t change their HEAD
. And in every project I would have to wrap that on custom make commands (or something to this extent).
Do you think writting a plugin to support
{deps,[
{mylib, {file, "file:///path/to/somewhere/mylib_0.0.1.tar.gz"}}
Is a good idea? I’m kind of new to erlang
so I might be missing something (that’s why I’m asking for help; I don’t want to put hours into this just to figure out that it does not fit nicely with the erlang
ecosystem so to speak).