diff options
| author | bors <bors@rust-lang.org> | 2021-02-13 16:03:07 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-02-13 16:03:07 +0000 |
| commit | 51aefbdd914800b3d1b1e1748a37e8f3e1cae426 (patch) | |
| tree | 7ea2063bbea422693a445dbd57805cfc07a22d46 | |
| parent | 0ce5eccd66dfe83388c47952fb0bd1b71f9373b3 (diff) | |
| parent | 0256103c1055a3bfa23c72220f37c06e601e2eae (diff) | |
| download | rust-51aefbdd914800b3d1b1e1748a37e8f3e1cae426.tar.gz rust-51aefbdd914800b3d1b1e1748a37e8f3e1cae426.zip | |
Auto merge of #6735 - matthiaskrgr:lintcheck, r=flip1995
lintcheck: accept env var to set crates.toml file *Please write a short comment explaining your change (or "none" for internal only changes)* changelog: lintcheck: accept LINTCHECK_TOML env var to set list of crates to be checked.
| -rw-r--r-- | clippy_dev/README.md | 26 | ||||
| -rw-r--r-- | clippy_dev/src/lintcheck.rs | 6 |
2 files changed, 29 insertions, 3 deletions
diff --git a/clippy_dev/README.md b/clippy_dev/README.md index 3846e8bd4cc..7c582b37535 100644 --- a/clippy_dev/README.md +++ b/clippy_dev/README.md @@ -21,8 +21,32 @@ cargo dev-lintcheck By default the logs will be saved into `lintcheck-logs/lintcheck_crates_logs.txt`. -You can set a custom sources.toml by adding `--crates-toml custom.toml` +You can set a custom sources.toml by adding `--crates-toml custom.toml` or using `LINTCHECK_TOML="custom.toml"` where `custom.toml` must be a relative path from the repo root. The results will then be saved to `lintcheck-logs/custom_logs.toml`. +### Configuring the Crate Sources + +The sources to check are saved in a `toml` file. +There are three types of sources. +A crates-io source: +````toml +bitflags = {name = "bitflags", versions = ['1.2.1']} +```` +Requires a "name" and one or multiple "versions" to be checked. + +A git source: +````toml +puffin = {name = "puffin", git_url = "https://github.com/EmbarkStudios/puffin", git_hash = "02dd4a3"} +```` +Requires a name, the url to the repo and unique identifier of a commit, +branch or tag which is checked out before linting. +There is no way to always check `HEAD` because that would lead to changing lint-results as the repo would get updated. +If `git_url` or `git_hash` is missing, an error will be thrown. + +A local dependency: +````toml + clippy = {name = "clippy", path = "/home/user/clippy"} +```` +For when you want to add a repository that is not published yet. diff --git a/clippy_dev/src/lintcheck.rs b/clippy_dev/src/lintcheck.rs index 749a791b280..3836df39adc 100644 --- a/clippy_dev/src/lintcheck.rs +++ b/clippy_dev/src/lintcheck.rs @@ -11,7 +11,7 @@ use crate::clippy_project_root; use std::collections::HashMap; use std::process::Command; -use std::{fmt, fs::write, path::PathBuf}; +use std::{env, fmt, fs::write, path::PathBuf}; use clap::ArgMatches; use serde::{Deserialize, Serialize}; @@ -227,7 +227,9 @@ fn build_clippy() { // get a list of CrateSources we want to check from a "lintcheck_crates.toml" file. fn read_crates(toml_path: Option<&str>) -> (String, Vec<CrateSource>) { - let toml_path = PathBuf::from(toml_path.unwrap_or("clippy_dev/lintcheck_crates.toml")); + let toml_path = PathBuf::from( + env::var("LINTCHECK_TOML").unwrap_or(toml_path.unwrap_or("clippy_dev/lintcheck_crates.toml").to_string()), + ); // save it so that we can use the name of the sources.toml as name for the logfile later. let toml_filename = toml_path.file_stem().unwrap().to_str().unwrap().to_string(); let toml_content: String = |
