#cargo #cargo-command #package #installation #subcommand

app cargo-emanate

Cargo 子命令,用于发布基于工作区(workspace)的 crate

10 个不稳定版本 (3 个重大更改)

0.4.3 2023年11月4日
0.4.2 2023年4月19日
0.3.2 2023年4月11日
0.2.1 2023年2月2日
0.1.1 2022年8月18日

#207Cargo 插件

每月25 次下载

Apache-2.0 OR MIT

61KB
1.5K SLoC

cargo-emanate

cargo 子命令,用于发布基于工作区的 crate 并检查依赖项版本。

考虑到简洁性和手动管理而创建。

功能

工作区

以下命令可用

  • version:将指定版本应用于工作区和其成员 crate。
  • publish:按层次依赖关系顺序发布所有 crate。
  • check:扫描 crate 中的所有依赖项,并与 crates.io 的输出进行比较,将差异输出到控制台。您可以使用这些信息手动更新依赖项。

所需的项目结构

  • 所有成员 crate 的版本必须使用 version.workspace = trueCargo.toml 中链接到工作区。
  • 所有成员 crate 的版本将始终与工作区版本匹配
  • 应忽略的 crate 应启用 [package] publish = false 属性

如果您需要在您的 workspace 中以特定版本发布一个 crate,您应该手动更改版本设置并发布它。该工具目前不跟踪 workspace crate 中的版本。

crate

以下命令可用

  • check:扫描 crate 中的所有依赖项,并与 crates.io 的输出进行比较,将差异输出到控制台。您可以使用这些信息手动更新依赖项。

通用

注意:此工具仅支持工作区中固定版本的用法。即依赖版本如 "^2.0.0" 或 "1.0" 将被拒绝。版本必须始终符合确切的 x.y.z[-后缀] 方案。这是为了防止在次要和补丁依赖项发布期间潜在的代码注入。

依赖项

~23–39MB
~640K SLoC