-
Notifications
You must be signed in to change notification settings - Fork 991
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] Deployer cannot deploy transitive dependencies of build_requires #17433
Comments
Hi @SzBosch thanks for your report. This would probably not be a bug, but expected behaviour. Conan might be skipping As per https://docs.conan.io/2/examples/extensions/deployers/sources/custom_deployer_sources.html#deploy, you might be looking into running your deploy with Let me know if this helps :) |
Hello @AbrilRBS , thank you for your answer I will test your suggestion. To give you a little more context: myprj -> require(pkgA) -> require(pkgB) to myprj -> build_require(pkgA) -> require(pkgB) because with normal require of pkgA the pkgB cannot be in the graph multiple times with different versions. So we need at the end a possibility to have both at the same time:
|
No, this case would not be a bug either
Please note that as per our documentation https://docs.conan.io/2/reference/conanfile/methods/build_requirements.html#tool-requires, tool requires are intended exclusively for depending on tools like cmake or ninja, which run in the “build” context, so your use-case is an anti-pattern and highly discouraged A better approach for your case might be using the That solves your first point, and remember the second one is solved with the conf from my previous comment, so please try them and let us know if it works, happy to help where needed! |
Describe the bug
Tested with Conan 2.0.16 and 2.10.1.
Given the following dependency structure:
myprj -> build_require(pkgA) -> require(pkgB)
The deployer shall deploy both pkgA and pkgB. To be able to do this a copy() is necessary accessing the "package_folder" attribute (pointing to the location in the cache"). This is not working, because for pkgB the value of "package_folder" is "None".
How to reproduce it
This can be demonstrated by the following deployer code:
The output is then like:
Expected:
The text was updated successfully, but these errors were encountered: