You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I would like to be able to check whether a binary package for a particular set of settings and options exists on a remote.
As of Conan 1.16.1 there is no way to do this. There are two approaches that almost work:
conan install -r remote Package/1.0.0@user/channel -pr profileA -pr profile B
Settings and options can be specified through profiles (good)
Exit code is nonzero if binary package doesn't exist on remote (good)
Binary package has to actually be downloaded; there is no flag such as --dry-run which would simply report if it exists
conan search -r remote Package/1.0.0@user/channel --query "os=Linux AND compiler=gcc AND compiler.version=5 AND option1=True AND option2=CustomValue
Does not support settings and options from profiles; all this information has to be replicated in the query syntax, which is cumbersome
Exit code is always 0, even if no packages matching the query are found
Also, a close alternative to install would be info which in theory it is a install that does not actually install binaries, so it would be equivalent to dry-run functionality.
Closing as solved in Conan v2. The conan list command is able to list packages for the passed profiles, conan graph info, which is able to report the whole status of the dependency graph for one or multiple references for the passed profiles, and conan graph explain, which is able to print information regarding the reasons why a certain binary is missing :)
Reopening to track progress for adding profile passing for conan list, which turns out I was misremembering with internal development progress, and does not have profile inputs (yet!). Thanks @memsharded for heads-up :)
I would like to be able to check whether a binary package for a particular set of settings and options exists on a remote.
As of Conan 1.16.1 there is no way to do this. There are two approaches that almost work:
--dry-run
which would simply report if it existsconan search -r remote Package/1.0.0@user/channel --query "os=Linux AND compiler=gcc AND compiler.version=5 AND option1=True AND option2=CustomValue
The text was updated successfully, but these errors were encountered: