<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>You define it to rely on 5.<br></div>
<div> </div>
<div>rebar3 will then warn you about all other version that are not used. Assume this app you are talking about is a  dep of the project you are working on and another version of it is chosen because of another dep depending on it, lets say 6, you then must define at the top level rebar.config that you want 5 (or 3).<br></div>
<div> </div>
<div>Leaving it up to the user.<br></div>
<div> </div>
<div id="sig19496053"><div class="signature">--<br></div>
<div class="signature">Tristan Sloughter<br></div>
<div class="signature">t@crashfast.com<br></div>
<div class="signature"> </div>
</div>
<div> </div>
<div> </div>
<div>On Tue, Dec 16, 2014, at 11:09 PM, Benoit Chesneau wrote:<br></div>
<blockquote type="cite"><div dir="ltr"><div> </div>
<div><div> </div>
<div defang_data-gmailquote="yes"><div>On Wed, Dec 17, 2014 at 1:18 AM, Tristan Sloughter <span dir="ltr"><<a defang_rel="noreferrer" href="mailto:t@crashfast.com" target="_blank">t@crashfast.com</a>></span> wrote:<br></div>
<blockquote defang_data-gmailquote="yes" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm just throwing my thoughts out there. This isn't to cover all<br>
features I'd want to see in a package manager, but instead just the ones<br>
I know are "controversial". These are also the direction we've gone with<br>
rebar3 (<a defang_rel="noreferrer" href="http://rebar3.org" target="_blank">http://rebar3.org</a>).<br> <br>
* Binary packages<br> <br>
Why build from source if you don't need to? Most Erlang applications<br>
have no native code.<br> <br>
* No semver enforcement<br> <br>
I mean, why bother? For one, you can't actually force semantic<br>
versioning. You can require the version be of the format<br>
MAJOR.MINOR.PATCH+[metadata] but not the semantic part.<br> <br>
I think forcing the format in the name of "semver" is confusing and<br>
wrong.<br> <br>
* Strict version declarations<br> <br>
No ">=1.0" or "<1.0 and >0.5". The project should set a version number<br>
of the dependency it relies on.<br> <br>
"Solving" dependencies is a matter of choosing the highest version of a<br>
dep in the dependency tree. This is also followed by maven,<br> <a defang_rel="noreferrer" href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html" target="_blank">http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html</a></blockquote><div> </div>
<div> </div>
<div>What if you want to support a package from version 3 to 5 but not 6 neither 1 or 2 due  breaking changes in the API?<br></div>
</div>
</div>
</div>
</blockquote><div> </div>
</body>
</html>