-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update cowlib to 2.12.0 #1601
Update cowlib to 2.12.0 #1601
Conversation
This is also related to #1596 |
Yes but that won't work in the long run, I can't really make a new Cowboy release every time there's a Gun release and vice versa. Just to be clear, the error ultimately comes from Mix which doesn't allow mismatching dependency versions, right? So we would need the rebar.config file (and Hex metadata) to have the loosy version instead of the strict version. I was thinking of adding a way to override the version in the Erlang.mk configuration and both Rebar and Mix would then get the loose version. But that's only assuming Mix uses the rebar.config for Cowboy. |
@essen There is another approach that could be simpler, why don't we relax the dependencies? ie using |
See my previous comment. |
I don't get you, sorry. According to the doc you can do it:
{deps,[
rebar, % fetches latest known version, ignoring pre-releases
{rebar, "~> 2.0.0"}, % >= 2.0.0 and < 2.1.0`
{rebar, "~> 2.1.2"}, % >= 2.1.2 and < 2.2.0`
{rebar, "~> 2.1.3-dev"}` % >= 2.1.3-dev and < 2.2.0`
{rebar, "~> 2.0"}` % >= 2.0.0 and < 3.0.0`
{rebar, "~> 2.1"}` % >= 2.1.0 and < 3.0.0`
]}. |
In any case @essen 😁. Since adding lazy dependency is not a requirement, we can merge this and think about how to improve it later if you prefer. Does it make sense? |
I'm not using Rebar, but Erlang.mk. So when Erlang.mk generates the rebar.config for compatibility I am saying it should have an option to override the version. Before I make a new Cowboy version I want to have that done. I do not want the Erlang.mk version to be fuzzy as only the strict versions were tested and that's all I can guarantee works. |
I've had to release Cowboy 2.10.0 for OTP-26 compatibility. I will also make a new Gun version for the same reason, so your issue will be gone for now, but a more long term solution will likely not be done before Cowboy 3.0 (so let's keep this PR open or open a new ticket). I'll ping when Gun is updated. |
OK there's a ticket already so I'm closing this. Expect a new Gun release soon. |
I have released Gun 2.0.1. Gun and Cowboy should now depend on the same Cowlib version. |
Context
Gun 2.0 has been released. As a consequence, the dependency resolution when using https://github.com/elixir-grpc/grpc is broken.
In order to remove the temporal fork of
gun
and use the officialgun
library, we want to make sure that:gun
depends oncowlib
2.12.0cowboy
depends oncowlib
2.12.0grpc
depends indirectly on oncowlib
2.12.0@essen @polvalente, this is related to https://github.com/elixir-grpc/grpc/pull/301/files