Conan 1.5:来自不同远程的二进制文件,依赖图中的构建需求和SCM改进
Conan 1.5 已于 上周发布,其中包含了一些为 1.4 版本宣布的功能的进展。此版本的功能并不多,但仍然有一些很棒的新内容要分享!
来自不同远程的二进制文件
在几个版本之前引入的 conan search <pkg_pattern> --remote all
在所有远程中执行引用搜索时非常方便。感谢贡献者,您现在也可以以相同的方式在所有远程中搜索二进制文件
$ conan search <pkg-ref> -r=all
由于知道在哪个远程中存在您需要的二进制文件非常有用,因此如果您无法混合来自不同远程的二进制文件,此功能将无法完成。所以,这正是我们所做的。
$ conan install libwebp/1.0.0@bincrafters/stable
libwebp/1.0.0@bincrafters/stable: Not found in local cache, looking in remotes...
libwebp/1.0.0@bincrafters/stable: Trying with 'conan-center'...
...
libwebp/1.0.0@bincrafters/stable: Installing package
Requirements
libwebp/1.0.0@bincrafters/stable from 'conan-center' - Downloaded
Packages
libwebp/1.0.0@bincrafters/stable:36cedbf3473b284f710724d0897d2340d94bb47e - Download
libwebp/1.0.0@bincrafters/stable: Retrieving package 36cedbf3473b284f710724d0897d2340d94bb47e from remote 'conan-center'
...
libwebp/1.0.0@bincrafters/stable: Package installed 36cedbf3473b284f710724d0897d2340d94bb47e
$ conan install libwebp/1.0.0@bincrafters/stable -s arch=x86 -r upload_repo
libwebp/1.0.0@bincrafters/stable: Installing package
Requirements
libwebp/1.0.0@bincrafters/stable from 'conan-center' - Cache
Packages
libwebp/1.0.0@bincrafters/stable:dc94cc7e740b35dfaacd21a10cbbcb541a20125e - Download
Cross-build from 'Windows:x86_64' to 'Windows:x86'
libwebp/1.0.0@bincrafters/stable: Retrieving package dc94cc7e740b35dfaacd21a10cbbcb541a20125e from remote 'upload_repo'
libwebp/1.0.0@bincrafters/stable: Package installed dc94cc7e740b35dfaacd21a10cbbcb541a20125e
依赖图中的构建需求
在对依赖图进行大量重构后,您现在可以在其中看到 build_requires
的表示。此功能在 conan info --graph
中可见(以颜色表示)。
通过这些更改,conan install
和 conan info
命令现在在输出中显示了配方和二进制文件状态的扩展信息。
...
libwebp/1.0.0@bincrafters/stable: Installing package
Requirements
libwebp/1.0.0@bincrafters/stable from 'conan-center' - Downloaded
Packages
libwebp/1.0.0@bincrafters/stable:36cedbf3473b284f710724d0897d2340d94bb47e - Download
配方中的依赖项声明顺序也得到尊重(只要它不破坏依赖项图顺序)。
SCM改进
在针对新的 SCM 功能收到大量新问题反馈后,我们进行了一些改进以使其变得更好。现在,递归克隆子模块 有了一个新的 submodule
参数。
现在,您还可以将 exports
和 exports_sources
与 scm
属性一起使用。 conan create
将首先复制导出内容和导出源,然后应用 SCM,最后应用 source()
方法(如果您想使用最新的进行修补,例如)。
这还将管理符号链接,并且在本地开发时,不会从本地存储库复制被 gitignore 忽略的文件。
请继续提供反馈!
其他亮点
-
我们发布了 工作区 并收到了很多反馈。敬请关注改进!
-
conan user
命令现在能够显示已认证的用户,并包含一个用于 JSON 输出的--json
参数。 -
SystemPackageTools
现在还支持 Manjaro。 -
默认的 settings.yml 文件中有一个新的 Macos 版本子设置,用于考虑“最小 OSX 版本”配置。