Skip to content
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

Add support for Conan #5933

Closed
JamieMagee opened this issue Apr 9, 2020 · 15 comments · Fixed by #12009
Closed

Add support for Conan #5933

JamieMagee opened this issue Apr 9, 2020 · 15 comments · Fixed by #12009
Labels
new package manager New package manager support priority-4-low Low priority, unlikely to be done unless it becomes important to more people status:requirements Full requirements are not yet known, so implementation should not be started type:feature Feature (new functionality)

Comments

@JamieMagee
Copy link
Contributor

JamieMagee commented Apr 9, 2020

What would you like Renovate to be able to do?
Add support for Conan, a C/C++ package manager

Describe the solution you'd like
Native support for Conan (using Bintray) as a datasource, and Conan as a manager.

Describe alternatives you've considered
Regex manager, but we don't provide support for Bintray as a datasource, so it won't work.

Additional context

TODO

@JamieMagee JamieMagee added type:feature Feature (new functionality) priority-4-low Low priority, unlikely to be done unless it becomes important to more people new package manager New package manager support labels Apr 9, 2020
@rarkins rarkins added priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others and removed priority-4-low Low priority, unlikely to be done unless it becomes important to more people labels Apr 9, 2020
@UnderSampled
Copy link

Also important is support for conanfile.py files: https://docs.conan.io/en/latest/reference/conanfile/attributes.html#requires

@rarkins rarkins added the status:requirements Full requirements are not yet known, so implementation should not be started label Jan 12, 2021
@JamieMagee JamieMagee added priority-4-low Low priority, unlikely to be done unless it becomes important to more people and removed priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others labels Jun 24, 2021
@okainov
Copy link
Contributor

okainov commented Aug 18, 2021

Any updates on this one? This would be very useful

@JamieMagee
Copy link
Contributor Author

@okainov Not really. The community seems to be focusing on #7135 first.

@mhetzel
Copy link
Contributor

mhetzel commented Oct 28, 2021

@rarkins for the digest vs updating the release config api issue. I'm hoping to have a solution where if a user specifies user and channel only versions matching will get applied. I'm sure there's a better way to do it than update the api but trying to shoehorn digests to work for this also felt icky. Any suggestions would be great. My next thought is to include user/channel in the version itself and/or just revisit using digest.

@rarkins
Copy link
Collaborator

rarkins commented Oct 29, 2021

Can you give us some background on user/channel and how it applies to lookups?

I am trying to understand:

  • Examples of how/when it's used
  • Is it something which can only be filtered on the "server" side? (in which case we may need to add new fields to getPkgReleases, but probably more generic than "user and channel")
  • Or is it something where we could leave the filter off, get back all results, and perform the filtering ourselves on the "client" side?

@mhetzel
Copy link
Contributor

mhetzel commented Oct 29, 2021

The user/channel bit is not my favorite feature. Conan itself is trying to move away from its use in their main registry. But its real use comes in in a large company with multiple teams and a self hosted registry. Consider teamA and teamB both working independent of each other developing nonoverlapping packages. They can both upload a "utilities" package and avoid collisions by maintaining separate user/channel specifications. Its kind of like namespacing. Both utilities packages are completely different and each team needs a way to only consume their own. As far as which side the filtering goes on. To me it would make sense to filter on the look up/server side. But either side would work.

@rarkins
Copy link
Collaborator

rarkins commented Oct 30, 2021

So user/channel is optional, and it's essentially a namespace? If so then could it be part of lookupName? If so, would that work.. would we need to invent our own syntax or is there a way of putting it in a single string already?

@mhetzel
Copy link
Contributor

mhetzel commented Oct 31, 2021

Correct super optional and basically a namespace. I can mess around with appending it to the lookupName, that shouldn't be hard at all. It will look weird since the format for conan is: name/version@user/channel. I could also let it be part of the version string and let it get filtered out via isCompatible

@rarkins
Copy link
Collaborator

rarkins commented Nov 1, 2021

Does lookupName include the /version part though?

@mhetzel
Copy link
Contributor

mhetzel commented Nov 1, 2021

It could! I'm just now seeing that there is both a depName and lookupName. Let me see what kind of behaviour I get with that.

@rarkins
Copy link
Collaborator

rarkins commented Nov 1, 2021

When you define both, depName is kind of the "human readable name" while lookupName is the actual string passed to the datasource for lookup

@mhetzel
Copy link
Contributor

mhetzel commented Nov 2, 2021

Defining both worked perfectly

@aishasteege
Copy link

This would be super helpful!

@viceice
Copy link
Member

viceice commented Feb 10, 2022

This would be super helpful!

Please don't fill the issue with those comments, use the 👍 emoji to vote this up.

The pr #12009 is nearly ready, so Please be patient.

@renovate-release
Copy link
Collaborator

🎉 This issue has been resolved in version 31.78.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 14, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
new package manager New package manager support priority-4-low Low priority, unlikely to be done unless it becomes important to more people status:requirements Full requirements are not yet known, so implementation should not be started type:feature Feature (new functionality)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants