13个版本

使用旧的Rust 2015

0.7.1 2020年7月17日
0.7.0 2019年2月13日
0.6.1 2018年3月5日
0.4.0 2016年12月28日
0.3.5 2016年5月9日

#1185 in 文件系统

Download history 14/week @ 2024-04-02 117/week @ 2024-07-02

每月117次下载

BSD-3-Clause

29KB
680

Build Status

rusty-release

一个命令行工具,用于制作cargo项目的半自动发布。

您必须明确指定新版本号应该增加哪个部分(例如 rusty-release minor),并且您必须自己编写变更日志,rusty-release 只会将新版本号放在变更日志的顶部并打开它。

安装

$ cargo install rusty-release

构建的二进制文件将位于 ~/.cargo/bin/rusty-release

用法

rusty-release 必须与一个版本号一起使用(rusty-release <VERSION>),其中 <VERSION> 必须是 majorminorpatchcurrentmajor/minor/patch 增加当前版本号相应的部分,而 current 使用当前版本号制作发布版本。因此,current 可能对第一个、初始发布最有用。

发布流程

  • 检查git工作树是否未修改,没有待提交的文件,以及本地和远程git仓库是否同步。

  • 运行测试。

  • Cargo.toml 读取当前版本,并根据 <VERSION> 进行增量,并将其写回 Cargo.toml

  • 构建发布版本。

  • 如果有,将在配置的编辑器中打开变更日志 - 在顶部添加新版本 - 和一个包含从HEAD到上一个发布所有提交的临时文件。

    所有文件名以小写字母开头的文件,如果文件名等于changelog,则被视为变更日志文件。

  • 创建一个包含更改文件和未忽略文件的git提交,提交消息使用配置的提交信息。

  • 使用配置的名称创建一个git标签。

  • 将git提交和标签推送到远程仓库。

  • 调用cargo publish

配置

如果可用,从主目录和cargo项目根目录(Cargo.toml所在位置)读取配置文件.rusty-release.toml

当前支持配置(默认配置显示)如下

# publish to crates.io
cargo_publish = true

# push to git remote repository
git_push = true

# string template for the creation of the commit message, currently the two
# placeholders '<PROJ_NAME>' - the name of the cargo project - and
# '<NEW_VERSION>' - the version of the release - are supported
commit_message = "<PROJ_NAME> <NEW_VERSION>"

# a string template like 'commit_message' supporting the same placeholders
tag_name = "v<NEW_VERSION>"

# the editor command for opening the changelog, for the best experience the
# editor command should be able to open multiple files in a split view,
# first the environment variables $EDITOR and $VISUAL are checked and if
# they aren't available then "gvim -o" is used
editor = "gvim -o"

依赖关系

~3–12MB
~145K SLoC