Support umbrella apps in mix package manager #43827
tomekowal
started this conversation in
Suggest an Idea
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Tell us more.
Hi! Thanks for your project. It really helps keeping up with our dependency upgrades :)
In Elixir, umbrella applications are sets of apps that live together in a repository and share dependencies.
E.g.
This causes problems during updates:
E.g. suppose that
app_1depends on depAwhich transitively depends onTin version 1 andapp_1depends on depBwhich also depends onTin version 1.The lock then specifies:
Now, there is a new version of
T(version 2) andAdidn't yet caught up, butBalso has a new version (version 2).Let's now say that Renovate wants to update
BWhat happens now is that Renovate runs in
my_app_2This updates
Bto version 2 andTto version 2, but it should not do that. If it runmix deps.update Bin the root of the repo, it would fail to resolve becauseAstill does not allowTin version 2.I don't believe Renovate has to know that much about umbrellas and how Elixir works internally. I think that the correct solution would be to keep updating
mix.exsthe same way as now, but then run themix deps.update packagein places wheremix.lockresides (notmix.exs).If you agree, I am happy to make an issue and contribute the solution.
All reactions