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 dry-run
options to all commands
#1432
Comments
I agree that a verbose option would make sense and improve the user experience, and is doable (I suggest not to do it all at once, but to introduce some While I agree that --dry-run could be useful, the truth is that it is not that simple. Implementing a |
Note that the output from |
Why would a dry-run require building anything, or even retrieving anything? It needs to tell me what it would retrieve, much like apt or yum can do. It doesn't need to actually fetch the packages. |
@cleeland In conan, the requirements can be conditional, to your settings, to your options, to any code in your recipe. So it needs the recipe to know the requirements. |
I really like the Permission to reduce scope of this ticket to just |
I support the reduced scope. |
verbose
and dry-run
options to all commandsdry-run
options to all commands
Just to add to this, I was also thinking about dry-run 'conan create' calls this morning. The context behind it is that we have a lot of our own recipes, and we tend to stay on an older version of Conan for stability, but I would like to know if there's any incompatibility with the Python side of the recipes, without paying the cost of building all of the packages again, when the Conan version does change. (And I would prefer to track newer versions.) For instance, I know that there was a breakage in some of our recipes written before Conan 1.28 was released, which raises an exception when built with a Conan from 1.28 onward. The logic causing it isn't easily greppable, and I've not had time to go and hunt down other instances of this. And that's just one instance of a breakage. The idea I was mulling over this morning is to do a 'dry-run' across all of our recipes (without modification from source control), as new Conan versions are released, watching for breakages. It'd also be useful with CONAN_V2_MODE enabled, so that I can keep an eye on that too. It'd be quick and dirty, without needing to hog build resources rebuilding packages I don't need to. So, I wouldn't need an install step to pull down dependencies to the local cache, but would be good to check that package_ids as defined by the recipe requirements were available in an Artifactory remote. Does that help towards this, @memsharded?
Thanks! |
Our team just came across a use case for this as well. We've built up a system to generate the packages that we need for all OSes simultaneously, but because some recipes have different dependencies on an OS/arch basis, we need to first build and upload the dependencies for those targets before we can build the desired library (in this case, We also publish packages in a different format for our projects which haven't converted to using Conan recipes yet, and those projects wouldn't need Knowing if those dependencies exist on the server is a simple |
Hi all, This will be the
That is already there for testing and feedback in the released beta. Please test it and report if necessary. |
One very handy way to understand new tools is to be able to peek "under the hood" and see what actions the tools take for particular ways of being invoked. It would be nice for conan to have
--verbose
and--dry-run
flags which would,respectively, describe what conan is doing under the hood (--verbose) and not actually do the actions (--dry-run).I have tried using
CONAN_TRACE_FILE
, but it doesn't seem to provide the same information as what I'd expect --verbose to do. And I've found nothing similar to --dry-run.The text was updated successfully, but these errors were encountered: