我目前正在尝试将项目打包为柯南打包文件。该项目已经通过Conan本身管理其依赖项,因此有一个conanfile.txt
列出了其依赖项。我正在how the documentation suggests doing it之后进行回购。
现在,我想打包这个项目,但是我想不出什么简单的方法来简单地让conanfile.txt
成为项目依赖项的参考,以及是否有可能利用已经存在的事实。而不是重新列出conanfile.py
中的所有依赖项。我可以通过删除conanfile.txt
和using the conanfile.py
as a consumer来跳过它,但是这迫使我想避免在配方中对实际build()
步骤进行更复杂的处理。我还想让开发库的人们能够按照他们喜欢的方式来构建它,除了依赖管理之外,不一定要通过柯南。
是否有办法从柯南配方中获取项目依赖关系,而不是在柯南配方的conanfile.txt
和requires
变量中列出两次依赖关系?如果可能的话,我想避免阅读conanfile.txt
并手动将依赖项逐行输入requires
变量中。
我知道我可能正在寻找一种不适合柯南设计和/或包装应该如何正常工作的方式。
答案 0 :(得分:1)
您可以使用conanfile.txt
,但是我强烈建议您使用conanfile.py
。
您也可以运行conan install .
,并安装conanfile.py
中列出的所有依赖项。由于命令install
不会运行您的build()
部分,因此我看不到问题。
无论如何,您可以在conanfile.py
中创建基类,以加载conanfile.txt
内容并过滤需求。显然,这听起来比仅使用conanfile.py
要复杂。
就功能而言,柯南无法加载两个文件。默认情况下,它将conanfile.py
并忽略conanfile.txt
。您不能同时使用参数或变量。