[question] How to mark a dependency as compatible for testing against a different depndency version
What is your question?
Is it possible to mark a dependency as compatible manually?
In the following, I want to use:
module-std/1.2.0@corp/stablewith it's use ofipc-util-lib/0.2.22@corp/stable, as module-std cannot build=missing.ipc-util-lib/0.2.22.100@corp/pr-123for everything else.
We update our main consumer project conanfile.py for MainApp with a test version of a static library.
# self.requires('ipc-util-lib@corp/stable')
self.requires('ipc-util-lib@corp/pr-123')This works for 99% of the dependency tree.
One shared library is part of a circular dependency, and cannot build=missing.
It also isn't used for most of the build, but is distributed as part of the output.
ERROR: Version conflict: Conflict between ipc-util-lib/[>=0.2.18 <0.3.0]@corp/stable and ipc-util-lib/0.2.22.100@corp/pr-123 in the graph.
Conflict originates from module-std/1.2.0@corp/stable Updating the requires to force the version:
self.requires('ipc-util-lib@corp/pr-123', force=True)Generates a new lock file correctly, but with the dependency for module-std as MISSING.
Also a failure path.
Is there any way to force the resolution module-std to be happy using ipc-util-lib/0.2.22@corp/stable , while everything else uses ipc-util-lib/0.2.22@corp/pr-123? Maybe to override from MainApp how module-std considers it's ipc-util-lib dependency compatibility?
(Only one process loads both module-std and ipc-util-lib and we will avoid testing that portion of the UI)
The only restriction is that module-std can't be modified. It isn't onboarded to any common ci-cd pipeline, and lacks automated builds, the ability to build test packages (e.g. from PRs), as well as to build against custom dependency versions (hard-coded as part of multiple repo lock file outputs, to work around circular dependency problems). The package is about 9 months into onboarding, and still another half year out from a working ability to build from ci-cd and our conan ecosystem.
Have you read the CONTRIBUTING guide?
- I've read the CONTRIBUTING guide
Source: conan-io/conan