-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
feat: add conan datasource and manager #12009
Conversation
Co-authored-by: Jamie Magee <[email protected]>
Co-authored-by: HonkingGoose <[email protected]>
Co-authored-by: HonkingGoose <[email protected]>
Co-authored-by: HonkingGoose <[email protected]>
Co-authored-by: HonkingGoose <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Contents of both files is good. Not sure if the current location of the file is correct though.
Do we want the conan.md
file under the docs/usage
directory?
We have a managers overview page. 1
We could merge the conan.md
with the lib/manager/conan/readme.md
file in the lib/manager/conan
directory structure? 2 That would put everything conan
related on it's own page, that can be found via the managers overview page.
Footnotes
It would be better to have all information in the manager readme file |
@HonkingGoose @rarkins I've merged the two files. Hopefully that's what you were looking for. |
Amazing PR, @mhetzel! |
🎉 This PR is included in version 31.78.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi folks!
ConanCenter at the moment has some issues with the search
endpoint that you might have hit. It can be quite slow, and even timeout. We are working on it, but it might take some time. I would like to recommend:
- Try to limit the number of searches, cache them whenever possible
- Use always the full exact package name, avoid patterns, specifically avoid a * pattern
You might want to track conan-io/conan#10298 for updates about this.
@rarkins seems we might need another limit like we created for repology. We're hammering the Conan servers too much now. |
Alternatively, there could be a very practical and fast approach: Everything in ConanCenter comes from the conan-center-index github repo: https://github.com/conan-io/conan-center-index. All the information is there, and the structure of the repo is well defined, information about versions is in there. Cloning the repo and getting the information would be a 0 hit on servers, and always super-fast, while the implementation should be straightforward enough? |
I think this means we might need to roll back Conan support in the meantime? :-/ |
You can measure a bit, and see what you get against the ConanCenter server, but if the number of queries is going to be high, then it might be a problem yes. Until conan-io/conan#10298 is closed, I would probably try to avoid the API search endpoint, and try getting the information from the repo. If cloning a repo locally is an issue for the tool, it can also be very simple to obtain the current versions directly from Github, like from https://github.com/conan-io/conan-center-index/blob/master/recipes/abseil/config.yml |
@rarkins Or just disable it for now via force from app and disable in code for now? |
It's not yet live in the app, so let's disable it by default in this repo first, and maybe allow people just opt-in for now. If that still becomes a problem, we can force it disabled. |
I've created an issue #14170 to move discussion to |
Changes:
adding a conan datasource to interact with conan v2 api and a conan manager to parse conanfile.txt and conanfile.py files.
Context:
closes #5933
Documentation (please check one with an [x])
How I've tested my work (please tick one)
I have verified these changes via: