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