8个不稳定版本 (3个破坏性更新)
0.3.1 | 2023年10月11日 |
---|---|
0.3.0 | 2023年9月28日 |
0.2.1 | 2023年9月20日 |
0.1.2 | 2023年8月31日 |
0.0.1 | 2023年8月10日 |
#369 in Cargo插件
每月 58 次下载
73KB
2K SLoC
sheepit 🐑
一个简单的Rust发布项目工具 🚀。
安装
cargo install sheepit
配置
您可以通过在您的仓库中放置一个 sheepit.toml
或 .sheepit.toml
文件来配置Sheepit。此文件具有以下选项
[repository]
branch_pattern = 'branch/{version}' # The naming pattern for the branch if one is created.
commit_message = 'Sheeping {version}' # Commit message if we will create a commit
default_branch = 'main' # Default branch in the repo.
enable_branch = true # When true sheepit will create a release branch before commiting and tagging.
enable_commit = true # When true sheepit will apply transforms and commit changes.
enable_tag = true # When true sheepit will create a tag from your latest commit.
enable_push = true # When true sheepit will push changes to origin (unless you dry-run)
tag_pattern = '{version}' # The naming pattern to use when creating a tag
# Each of the below subprojects will point to another git repo. Sheepit will clone this project, then
# use it's sheepit config to apply the update. The version info will reflect the main project, meaning the
# previous version and next version will be derived from the main project's update.
[[subprojects]]
repo_url = '[email protected]:some-user/test-sub-sheep.git' # Git remote url for subproject
# Each of the below transforms will find and replace a single string in the specified file. If you need to
# replace multiple strings, add multiple transforms.
[[transforms]]
path = 'relative/path.file' # The relative path to the file.
find = 'version: {version}' # An optional, explicit string to find. If omitted, replace will be used for find & replace.
replace = 'version: sheep_{version}' # The replace string.
版本令牌
版本令牌是 {version}
。这可以在多个配置属性中使用,可能表示仓库的当前版本(根据最高的semver标签确定),或下一个版本。通常以下规则适用
- 当
{version}
用于命名模式或提交消息时,它将是 下一个 版本。 - 当
{version}
用于转换的find
字符串时,它将是 上一个 版本。 - 当
{version}
用于转换的replace
字符串时,它将是 下一个 版本。- 如果同时使用
replace
为find
和replace
,则在查找时{version}
将展开为上一个版本,然后在替换时文件将变为下一个版本。
- 如果同时使用
默认值
您不需要指定本节顶部列出的所有配置属性。Sheepit会尝试选择合理的默认值。默认值可以在以下位置找到: config.rs。
版本升级
Sheepit 支持语义版本升级。您可以升级主版本、次版本和补丁版本。在进行版本升级时,sheepit 将执行以下操作
- 通过查看您的仓库标签列表来找到最新版本。
- 根据升级类型确定下一个版本。
- 可选地为您创建一个发布分支。
- 可选地在对任何必要的转换执行后创建一个提交(即将推出!)。
- 可选地创建一个标签。
- 可选地推送到远程。
命令
# Assuming your version is 1.1.1
sheepit major # bumps the version to 2.0.0
sheepit minor # bumps the version to 1.2.0
sheepit patch # bumps the version to 1.1.2
依赖项
~13–23MB
~420K SLoC