Hey John!

Your example doesn't the quite do the major thing I need it to: stay out of 
the mix.exs file.

Think of it like shadowing a variable, but for dependencies. My goal here 
is to be able to temporarily override a dependency with a local path, to 
test drive the dependency's development, in a way that I know will never 
accidentally get committed and break the host project's build. It has to be 
a way that is git-ignored so people I collaborate with can use their own 
local shadowings without merge conflicting over mine. I go into a little 
more depth on how and why bundler does it and how we could as well on the 
scratchpad PR <https://github.com/christhekeele/elixir/pull/2>I'm using to 
experiment with this feature.

The gist I originally linked to wasn't meant to emphasize that this was 
possible within the mix.exs, that's a simpler task. It was to emphasize 
that using overrides is compatible with the mix.lock and mix deps system at 
large, so we could work on finding a way to remove it from the mix.exs. But 
not having it be in the mix.exs is really the core requirement––which is 
exactly why I'm considering stripping away the other restrictions used in 
the bundler system; I agree with you that these rules are fairly cumbersome.

You're also right that paths need not be the end-all-be-all, with a general 
override system, but right now that isn't quite so simple because hex 
packages exist at a different level of abstraction within mix than git and 
path packages. And it doesn't make much sense to override a path dependency 
with a git one. That leaves just the path-overriding-git vector, until I 
work on the refactor mentioned earlier to bring them to the same level of 
abstraction.

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elixir-lang-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/4acb86c8-729f-44d2-83a6-693c4eb10174%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to