-
Notifications
You must be signed in to change notification settings - Fork 990
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
[bug] 2.0 Woes #13233
Comments
Hi @shakfu There are a few things that Conan 2.0 has change wrt Conan 1.X. You need to do |
Ok, but I'm not sure why it was decided that it was somehow ok for a package manager to break everyone's working
|
We have been supporting python2-3 compatibility for years to forget about this. We have also done, regarding the major (major means breaking by the semver standard) Conan 2.0 release to help everyone to be ready for it:
|
I'm sure you have all gone out of your way and put in major efforts to introduce the new features in 2.0, but I respectfully and strongly disagree with the decision to break compatibility with 1.0 Any 1.0 Can you imagine if any other package manager (like |
Well, we agree to disagree :) Feature deprecations and removal is completely standard in SW development. Even the extremely backward compatible C++ standard deprecates and removes things from it. So code that was valid (but deprecated) and compiled in the previous version is absolutely broken in the new C++ version because it was removed from the standard. Regarding what you said about other package managers, please have a look to https://pip.pypa.io/en/stable/news/ pip changelog, there are tons of deprecations and removals. I think some of them affected client side files like the removal of the Rust cargo is still in 1.X, didn't do a major release yet, so we cannot know. Php composer also did some removals in their 2.0, like not allowing some package names: https://github.com/composer/composer/blob/main/UPGRADE-2.0.md
We have completely removed generators like In any case, thanks very much for your feedback, and I am sorry for the inconvenience. |
Fair enough if we have a difference of opinion. Honestly, I can't get the 2.0 version of the conanfile above working for some reason. So I'm currently specifying in our |
Ok, sounds good to pin I suggest to close this issue as regarding the conanfile.txt syntax, and if you want to report new issues in the 2.0 upgrade, you can file new specific tickets with more information. I suspect it could be related to the transparent CMake integration, that now doesn't need any modification to users CMakeLists.txt (a massive request by Conan users), and is driven by |
Any specific reason why |
Yes, there is a reason for this, we are not unnecessarily pedantic, but we really tried to solve some issues regarding ambiguous inputs: If we use the rule above, I guess that you also mean that In both cases, that approach would be broken, because it doesn't allow to differentiate between packages with and without user/channel. This also goes for only the channel part, because Conan 2.0 allows to specify only the user and not the channel. This is a situation that has happened a bunch of times, kind of common situation for many users that have The new syntax make it very explicit:
This same problem is repeated in many other places ( |
It also works to use
And clearly, that is wrong and leads to a waste of time when searching for the reason why the apparently correct syntax doesn't work anymore. Please fix the text 😁 |
Thanks for taking the time to elaborate.
Well, I see where this is leading to. While the package name and version follow a hierarchical concept (which fits well with a shorthand notation), this breaks down when introducing the concept of But I think we could improve the error message a little bit. Right now for the option
It mentions the full option key in the first part of the sentence, but the proposal only contains the package name portion of it. What about adding the option to make the full syntax more clear?
You see that I also left out the second example of using |
@michael-brade Yes, you are right, lets fix that error message. |
To complement #13266 and conan-io/docs#3032, also fixed the 2.0 docs (only 1 occurrence) in conan-io/docs@a4b3fef |
I think after the above PRs have been merged and the discussion above on why being explicit about when it is a pattern and when not is necessary to disambiguate some broken cases in 1.X, we can close this issue. Thanks all for the feedback and the contributions! |
Environment details
Steps to reproduce
My conanfile.txt:
Clearly my options are well specified and working in conan 1.59.0 so why am I getting an error here?
Logs
No response
The text was updated successfully, but these errors were encountered: