X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=README.md;h=9dd41f6513c25882c9b42570c725ea3d9471ada9;hb=a16edf84ce17095ebeebccb5662441ef1c824905;hp=def88186087739a05a0e4c0185b29376ee9a8698;hpb=49b1a8c77538ca0e559ee634d22712909d3f9bd6;p=rust.git diff --git a/README.md b/README.md index def88186087..9dd41f6513c 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,11 @@ We are currently in the process of discussing Clippy 1.0 via the RFC process in [![Build Status](https://travis-ci.org/rust-lang-nursery/rust-clippy.svg?branch=master)](https://travis-ci.org/rust-lang-nursery/rust-clippy) [![Windows Build status](https://ci.appveyor.com/api/projects/status/id677xpw1dguo7iw?svg=true)](https://ci.appveyor.com/project/rust-lang-libs/rust-clippy) [![Current Version](https://meritbadge.herokuapp.com/clippy)](https://crates.io/crates/clippy) -[![License: MPL-2.0](https://img.shields.io/crates/l/clippy.svg)](#license) +[![License: MIT/Apache-2.0](https://img.shields.io/crates/l/clippy.svg)](#license) A collection of lints to catch common mistakes and improve your [Rust](https://github.com/rust-lang/rust) code. -[There are 275 lints included in this crate!](https://rust-lang-nursery.github.io/rust-clippy/master/index.html) +[There are 279 lints included in this crate!](https://rust-lang-nursery.github.io/rust-clippy/master/index.html) We have a bunch of lint categories to allow you to choose how much Clippy is supposed to ~~annoy~~ help you: @@ -45,7 +45,7 @@ subcommand. #### Step 1: Install rustup You can install [rustup](http://rustup.rs/) on supported platforms. This will help -us install clippy and its dependencies. +us install Clippy and its dependencies. If you already have rustup installed, update to ensure you have the latest rustup and compiler: @@ -54,26 +54,17 @@ rustup and compiler: rustup update ``` -#### Step 2: Install nightly toolchain +#### Step 2: Install Clippy -Rustup integration is still new, you will need a relatively new nightly (2018-07-15 or later). - -To install Rust nightly with [rustup](https://rustup.rs/): +Once you have rustup and the latest stable release (at least Rust 1.29) installed, run the following command: ```terminal -rustup install nightly +rustup component add clippy-preview ``` -#### Step 3: Install clippy - -Once you have rustup and the nightly toolchain installed, run the following command: - -```terminal -rustup component add clippy-preview --toolchain=nightly -``` +Now you can run Clippy by invoking `cargo clippy`. -Now you can run Clippy by invoking `cargo +nightly clippy`. If nightly is your -default toolchain in rustup, `cargo clippy` will work fine. +If it says that it can't find the `clippy` subcommand, please run `rustup self update` ### Running Clippy from the command line without installing it @@ -87,6 +78,27 @@ cargo run --bin cargo-clippy --manifest-path=path_to_clippys_Cargo.toml *[Note](https://github.com/rust-lang-nursery/rust-clippy/wiki#a-word-of-warning):* Be sure that Clippy was compiled with the same version of rustc that cargo invokes here! +### Travis CI + +You can add Clippy to Travis CI in the same way you use it locally: + +```yml +language: rust +rust: + - stable + - beta +before_script: + - rustup component add clippy-preview +script: + - cargo clippy + # if you want the build job to fail when encountering warnings, use + - cargo clippy -- -D warnings + # in order to also check tests and none-default crate features, use + - cargo clippy --all-targets --all-features -- -D warnings + - cargo test + # etc. +``` + ## Configuration Some lints can be configured in a TOML file named `clippy.toml` or `.clippy.toml`. It contains a basic `variable = value` mapping eg. @@ -133,16 +145,14 @@ enable/disable Clippy lints until `tool_lints` are stable: #![cfg_attr(feature = "cargo-clippy", allow(clippy_lint))] ``` -## Updating rustc - -Sometimes, rustc moves forward without Clippy catching up. Therefore updating -rustc may leave Clippy a non-functional state until we fix the resulting -breakage. - -You can use the [rust-update](rust-update) script to update rustc only if -Clippy would also update correctly. +If you do not want to include your lint levels in your code, you can globally enable/disable lints by passing extra flags to clippy during the run: `cargo clippy -- -A lint_name` will run clippy with `lint_name` disabled and `cargo clippy -- -W lint_name` will run it with that enabled. On newer compilers you may need to use `clippy::lint_name` instead. ## License -Licensed under [MPL](https://www.mozilla.org/MPL/2.0/). -If you're having issues with the license, let me know and I'll try to change it to something more permissive. +Copyright 2014-2018 The Rust Project Developers + +Licensed under the Apache License, Version 2.0 or the MIT license +, at your +option. All files in the project carrying such notice may not be +copied, modified, or distributed except according to those terms.