我目前正在尝试将项目打包为柯南包。该项目已经使用柯南本身管理其依赖项,因此有一个列出其依赖项的conanfile.txt
。我正在按照文档建议的方式在回购中执行此操作。
现在我想打包这个项目,但我无法弄清楚什么正确的方法可以简单地让它conanfile.txt
成为项目依赖项的参考,以及是否有可能利用它已经存在的事实,而不是重新列出conanfile.py
中的所有依赖项。我可以通过删除conanfile.txt
并将conanfile.py
用作消费者来跳过它,但这迫使我对配方中的实际build()
步骤进行更复杂的处理,我想避免这样做。我还想让开发库的人能够以他们喜欢的方式构建它,除了依赖管理之外,不一定通过柯南。
有没有办法从柯南配方中获取项目依赖项,而不是在柯南配方的conanfile.txt
和requires
变量中列出两倍的依赖项?如果可能的话,我想避免读取conanfile.txt
并逐行手动将依赖项输入requires
变量。
我知道我可能正在寻找一种不适合柯南设计和/或包装通常应该如何工作的方法。
您可以使用conanfile.txt
,但我强烈建议改用conanfile.py
。 您也可以运行conan install .
,并安装conanfile.py
中列出的所有依赖项。由于命令install
不会运行您的build()
部分,因此我看不到问题。
无论如何,您可以在conanfile.py
中创建一个基类,用于加载conanfile.txt
内容并筛选需求。忘记了,这听起来比只使用conanfile.py
更复杂。
在功能方面,没有办法,柯南不会加载这两个文件。默认情况下,它将conanfile.py
并忽略conanfile.txt
。您不能通过参数或变量来强制。