1 个不稳定版本

0.1.0 2023年1月23日

#362模板引擎

GPL-3.0 许可证

20KB

Build and Test Contributor Covenant License: GPL v3


Rust Blank

Rust 项目的起点。根据需要自由调整。

人们会注意到这个模板中没有任何 Rust 代码。这是故意的。这就是为什么上面的 CI 徽章是红色的。这是一个支持文件集合,我发现它比 cargo init 提供的更有用。而不是试图取代它所做的一切,我只是想找到一种方法来添加我发现有用的东西。

这个模板设计得恰到好处,既严厉又仁慈。

您可以在 devplaybooks/rust_blank_example 中看到它的一个示例。

如何使用它。

  • 使用模板。(注意,您的第一次构建将失败,因为没有代码。)
  • 在本地检出您的新的仓库。
  • 导航到仓库
  • 运行 cargo init
    • 如果您想要一个库而不是可执行文件,运行 cargo init --lib

箱子里有什么?

GNU 通用公共许可证第 3 版

我首先使用这个版本,因为它最不灵活,并根据我的需求相应调整。

我的 Robbepop 的 .rustfmt.toml 文件 版本。

它允许您自定义 rstfmt cargo 命令 的操作方式。在我的情况下,这意味着将文件的最大宽度从 80 个字符更改为 100 个字符。

# Ideal width of each line.
# Default: 80
max_width = 100

David Tolnay 的 Rust Toolchain GitHub Action

我一直很喜欢 svartalfactions-rs 库,但它似乎没有得到维护,我现在从 GitHub 收到 警告,所以我正在切换。它非常简单和灵活。

此工作流包含一个定时任务,用于每月的第一天运行任务。请注意,GitHub表示,它将在分支仓库中禁用定时任务或如果在60天内没有活动的情况下。

如果您不熟悉GitHub Actions,我建议您查看。

.github/workflows/CI.yaml 包含以下作业

测试

测试代码与Rust的稳定版、beta版和nightly 频道,以及Rust 1.56.0版本的发布。

clippy

我喜欢将我的Clippy规则设置为11级,所以它配置在繁琐级别。请随意根据您的需求降低。

请注意,如果您不在crate的开头添加#![warn(clippy::pedantic)],则Clippy将本地通过,但在推送时失败。例如

#![warn(clippy::pedantic)]

fn main() {
  println!("Hello, world!");
}

格式化

如果开发者没有在构建上运行rustfmt,则构建失败。

miri

我在这个示例中看到Miri之前从未听说过它,但它看起来很有趣,为什么不试试呢?

Miri是一个重量级测试,所以可能明智地将其删除。

过时

运行cargo outdated子命令对仓库进行测试。如果您的项目中有任何过时的依赖项,则构建失败。如果您保持cron定时任务,它将每月检查您的依赖项是否过时。

无运行时依赖