如何根据构建配置文件切换依赖项

Kri*_*hna 8 rust rust-cargo

我想在构建发布配置文件时使用依赖项中的功能,并且我不希望在测试/开发时使用任何功能.

例如,依赖关系通常定义为:

[depenencies.my_dep]
version = "*"
Run Code Online (Sandbox Code Playgroud)

但是当我构建发布配置文件时,我希望它是

[depenencies.my_dep]
version = "*"
features = [my_feature]
Run Code Online (Sandbox Code Playgroud)

从货物文件中我可以看出,这只能用于平台目标.有没有办法为基于配置文件的配置执行此操作?

Sea*_*rry 7

cargo不直接支持你想要的。我看到两个选择。

A. 使用dev-dependencies它允许测试具有与调试/发布不同的依赖项。描述的开发依赖项

B. 有一个 Cargo-mock.toml 和一个 Cargo-release.toml。使用 在它们之间切换cargo build --manifest-path ./Cargo-<type>.toml