-
Notifications
You must be signed in to change notification settings - Fork 232
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
relx inappropriately strips version details from {vsn, Version} data #88
Comments
@AeroNotix we do and for good reason. During the dependency solve phase of the release build we have to compare versions. We have to have some basis on which to compare versions. That basis is the semantic versioning spec. If we can parse a version can be parsed as a semantic version we do that. Since a preceding v is part of that spec we parse it out. That said, that shouldn't affect the users as once the dependency graph is solve that parsed version shouldn't be used any more. That said, you haven't actually described what the problem is. Just what you think caused the problem. So if you could describe how it messed you up, that would be helpful. |
The problem was that the version missing the v was being used in the I understand the need to compare versions but are you 100% that you then use the original value which was in the |
Relx never touches the contents of the OTP Application. It does copy/symlink (depending on options) it into the release, but it doesn't rewrite the .app file or anything like that. The one potential place for there to be problem is the directory where it copies the release. It targets a directory in If your *.app file is getting modified, something besides relx is doing it. |
Or are you saying what ends up in the .rel for an app is the wrong version? |
I suspect it does actually end up in the *.rel file for similar reasons. |
Then I may have been confused about the final outcome of misusing the version number but it certainly is stripping it out. Surely this is trivial for you to test? And yes, sorry, I was talking about the .rel. |
@AeroNotix do you have an example to show us? |
Make a release with piqi in it. That should expose this. |
Would be quicker if you said what happened when you make a release with piqi, hehe. Is the |
It's the Sorry it was on another machine. |
Ah ok, we are on it. |
We will get this fixed. However, you should really push back on the authors On Mon, Oct 28, 2013 at 2:18 PM, Tristan Sloughter <notifications@github.com
|
@ericbmerritt alavrik/piqi-erlang#12 already done before I made this ticket. As for the git reference number - surely if you have access to the |
@AeroNotix you can absolutely. However, thats not super useful. Lets take the human case. When i look at version |
Not trying to cause any arguments here, I think my goal has been achieved with this ticket but:
and your previous comment seem to be at odds with each other, no? Regardless, I agree - judging by the way things are set up it doesn't seem wise to include a |
@AeroNotix not trying to get in an argument either. I just feel really strongly on the subject. I think my two posts there back each other up. That is that those are designed to be machine readable, and that semver style versions are the right way to go for that purpose. While refs may be machine readable, they are not very machine usable without access to the original repo which isn't available most of the time. So perhaps I should have called it 'machine usable' instead of 'machine readable'. |
I see, jolly good. |
We ran across a bug where a dependency had tagged a commit causing the version to be returned as {vsn, v0.7.0} (piqi for those interested).
Relx depends on erlware commons
ec_semver
to parse out the version of the release which also strips out thev
.As below:
Resist the temptation to take pride in complexity.
The text was updated successfully, but these errors were encountered: