gazebo_lint

Crates.iogazebo_lint
lib.rsgazebo_lint
version0.1.1
sourcesrc
created_at2021-09-30 23:15:53.656489
updated_at2021-09-30 23:18:15.438803
descriptionA linter for the Gazebo Rust library
homepage
repositoryhttps://github.com/facebookincubator/gazebo_lint
max_upload_size
id458929
size42,429
Bob (Yifan) Yang (bobyangyf)

documentation

README

Gazebo Lint - a linter for patterns relating to the Gazebo Library

The linter provides various helpful hints relating to additions from the Gazebo Library.

For example, Gazebo added Dupe. This linter will provide hints to use dupe instead of clone. e.g. when doing Arc::new(x).clone(). Other available hints are to "Use map" when doing xs.iter().map(f).collect() if the types line up, and reminders to derive Dupe when appropriate.

Using Gazebo Lint

Gazebo lint can lint any program by adding the following to lib.rs:

#![feature(plugin)]
#![allow(deprecated)]
#![plugin(linter)]

Unfortunately the plugin feature is deprecated, so while useful, it is likely that linter will stop working at some point in the future. We will look to update the linter to use the proper alternatives if applicable when that becomes an issue.

Making a release

  1. Check the GitHub Actions are green.

  2. Update CHANGELOG.md with the changes since the last release. This link can help (update to compare against the last release).

  3. Update the version numbers of the two Cargo.toml files. Bump them by 0.0.1 if there are no incompatible changes, or 0.1.0 if there are.

  4. Run cargo publish --dry-run --allow-dirty, then without the --dry-run in gazebo_lint directory.

  5. Create a GitHub release with v0.X.Y, using the gazebo_lint version as the name.

License

Gazebo Linter is both MIT and Apache License, Version 2.0 licensed, as found in the LICENSE-MIT and LICENSE-APACHE files.

Commit count: 49

cargo fmt