复制github仓库[opt]
rust fmt使用
安装
运行
配置
宏使用
与Travis ci集成
rust clippy使用
类别(组)
travis-ci
简介
.travis.yml
集成步骤
这里我们要基于tentacle做二次开发
fmt是一个根据样式规则格式化Rust代码的工具
可以在项目根目录下创建一个名为<code>rustfmt.toml</code>或 <code>.rustfmt.toml</code>的TOML文件,规则使用variable = value的形式定义;
有哪些可使用的规则可以用<code>rustfmt --help=config</code>命令查看;
可以使用<code>rustfmt --print-config default rustfmt.toml</code>命令生成一个默认的配置文件
eg.
如果你的代码不像被rustfmt格式化,可以使用 #[rustfmt::skip]
为防止rustfmt格式化宏或属性,请使用#[rustfmt::skip::macros(target_macro_name)] 或 #[rustfmt::skip::attributes(target_attribute_name)]
使用–check标识,如果代码格式不正确,rustfmt将退出并显示出需要修改的代码块.
Travis设置可能看起来像这样:
clippy有一组lints集合,用于检查你代码中错误和坏味道,帮助你改进你的Rust代码。
clippy::all(默认配置,排除nursery,pedantic和cargo)
clippy::correctness(代码完全错误或非常无用,默认情况下会导致硬错误)
clippy::style (应该以更惯用的方式编写的代码)
clippy::complexity (执行简单但复杂的代码)
clippy::perf (可以以更快的方式编写的代码)
clippy::pedantic (非常严格lints,默认情况下已禁用)
clippy::nursery (尚未完成的新的lints,默认情况下处于关闭状态)
clippy::cargo (对cargo manifest进行检查,默认情况下为关闭状态)
默认情况下,仅启用以下类别:
clippy::style
clippy::correctness
clippy::complexity
clippy::perf
自动应用修改建议,帮助你修改代码
可以在项目根目录下创建一个名为<code>rustfmt.toml</code>或 <code>.rustfmt.toml</code>的TOML文件,规则使用variable = value的形式定义,所有的lint规则请参考:https://rust-lang.github.io/rust-clippy/master/index.htm。
<code>cargo clippy</code>命令在执行的时候,首先会寻找工作目录中是否有.clippy.toml,如果有的话就会将其作为clippy配置,如果没有的话就会再寻找工作目录中是否有clippy.toml文件,如果还是没有的话,就会去寻找上层目录是否有.clippy.toml和clippy.toml文件。
可以在你的代码中使用clippy提供的宏,允许、警告、不允许Clippy lints,分别对应
#[allow(…)]、#[warn(…)]、#[deny(…)]。
全部lints只警告 (#![deny(clippy::all)])
可以同时使用两个lint 组 (#![deny(clippy::all)], #![deny(clippy::pedantic)])
部分lints(#![deny(clippy::single_match, clippy::box_vec)], etc.)
allow/warn/deny可以修饰单个函数或模块
如果您不想在代码中使用clippy宏,则可以通过在运行期间将额外的标志传递给<code>cargo clippy</code>命令来全局启用/禁用clippy,eg:
<code>cargo clippy -- -A clippy::lint_name</code>
<code>cargo clippy -- -W clippy::lint_name</code>
<code>cargo clippy -- -W clippy::pedantic</code>
<code>cargo clippy -- -Aclippy::all -Wclippy::useless_format -Wclippy</code>::…
请注意,<code>-D warnings</code>如果在代码中发现任何警告,将导致构建失败。其中包括rustc发现的警告(例如dead_code)。如果要避免这种情况,请在代码中使用<code>#![deny(clippy::all)]</code>宏或在命令行中使用<code>-D clippy::all</code>。
Travis CI 是一个开源的,分布式的持续集成服务,用来构建及测试在 GitHub 托管的代码。
它提供了对多种编程语言的支持,包括 Ruby、JavaScript、Java、Scala、PHP、Haskell 和 Erlang 在内的多种语言。许多知名的开源项目使用它来在每次提交的时候进行构建测试,比如 Ruby on Rails,Ruby 和 Node.js
Travis 要求项目的根目录下面,必须有一个.travis.yml文件。这是配置文件,指定了 Travis 的行为。该文件必须保存在 Github 仓库里面,一旦代码仓库有新的 Commit,Travis 就会去找这个文件,执行里面的命令。
1、使用你的github账号授权登录https://travis-ci.com/signin
2、点击头像setting

3.点击manage repositories on Github,跳转到github授权页
4.选择需要ci的项目,请求授权
5. 授权后,可以看到当前授权的项目,点击setting 可以进入构建详情页面
6. 点击trigger build可立即触发构建
7.可以将当前的构建状态图标放到项目的readme中