|
1 | 1 | # Clippy Dev Tool
|
2 | 2 |
|
3 |
| -The Clippy Dev Tool is a tool to ease Clippy development, similar to `rustc`s `x.py`. |
| 3 | +The Clippy Dev Tool is a tool to ease Clippy development, similar to `rustc`s |
| 4 | +`x.py`. |
4 | 5 |
|
5 | 6 | Functionalities (incomplete):
|
6 | 7 |
|
7 | 8 | ## `lintcheck`
|
8 |
| -Runs clippy on a fixed set of crates read from `clippy_dev/lintcheck_crates.toml` |
9 |
| -and saves logs of the lint warnings into the repo. |
10 |
| -We can then check the diff and spot new or disappearing warnings. |
| 9 | + |
| 10 | +Runs clippy on a fixed set of crates read from |
| 11 | +`clippy_dev/lintcheck_crates.toml` and saves logs of the lint warnings into the |
| 12 | +repo. We can then check the diff and spot new or disappearing warnings. |
11 | 13 |
|
12 | 14 | From the repo root, run:
|
13 |
| -```` |
| 15 | + |
| 16 | +``` |
14 | 17 | cargo run --target-dir clippy_dev/target --package clippy_dev \
|
15 | 18 | --bin clippy_dev --manifest-path clippy_dev/Cargo.toml --features lintcheck -- lintcheck
|
16 |
| -```` |
| 19 | +``` |
| 20 | + |
17 | 21 | or
|
18 |
| -```` |
| 22 | + |
| 23 | +``` |
19 | 24 | cargo dev-lintcheck
|
20 |
| -```` |
| 25 | +``` |
21 | 26 |
|
22 |
| -By default the logs will be saved into `lintcheck-logs/lintcheck_crates_logs.txt`. |
| 27 | +By default the logs will be saved into |
| 28 | +`lintcheck-logs/lintcheck_crates_logs.txt`. |
23 | 29 |
|
24 |
| -You can set a custom sources.toml by adding `--crates-toml custom.toml` or using `LINTCHECK_TOML="custom.toml"` |
25 |
| -where `custom.toml` must be a relative path from the repo root. |
| 30 | +You can set a custom sources.toml by adding `--crates-toml custom.toml` or using |
| 31 | +`LINTCHECK_TOML="custom.toml"` where `custom.toml` must be a relative path from |
| 32 | +the repo root. |
26 | 33 |
|
27 | 34 | The results will then be saved to `lintcheck-logs/custom_logs.toml`.
|
28 | 35 |
|
29 | 36 | ### Configuring the Crate Sources
|
30 | 37 |
|
31 |
| -The sources to check are saved in a `toml` file. |
32 |
| -There are three types of sources. |
| 38 | +The sources to check are saved in a `toml` file. There are three types of |
| 39 | +sources. |
33 | 40 |
|
34 | 41 | 1. Crates-io Source
|
35 | 42 |
|
36 |
| - ````toml |
| 43 | + ```toml |
37 | 44 | bitflags = {name = "bitflags", versions = ['1.2.1']}
|
38 |
| - ```` |
| 45 | + ``` |
39 | 46 | Requires a "name" and one or multiple "versions" to be checked.
|
40 | 47 |
|
41 | 48 | 2. `git` Source
|
42 | 49 | ````toml
|
43 | 50 | puffin = {name = "puffin", git_url = "https://github.com/EmbarkStudios/puffin", git_hash = "02dd4a3"}
|
44 | 51 | ````
|
45 | 52 | Requires a name, the url to the repo and unique identifier of a commit,
|
46 |
| - branch or tag which is checked out before linting. |
47 |
| - There is no way to always check `HEAD` because that would lead to changing lint-results as the repo would get updated. |
48 |
| - If `git_url` or `git_hash` is missing, an error will be thrown. |
| 53 | + branch or tag which is checked out before linting. There is no way to always |
| 54 | + check `HEAD` because that would lead to changing lint-results as the repo |
| 55 | + would get updated. If `git_url` or `git_hash` is missing, an error will be |
| 56 | + thrown. |
49 | 57 |
|
50 | 58 | 3. Local Dependency
|
51 |
| - ````toml |
52 |
| - clippy = {name = "clippy", path = "/home/user/clippy"} |
53 |
| - ```` |
| 59 | + ```toml |
| 60 | + clippy = {name = "clippy", path = "/home/user/clippy"} |
| 61 | + ``` |
54 | 62 | For when you want to add a repository that is not published yet.
|
55 | 63 |
|
56 | 64 | #### Command Line Options (optional)
|
|
0 commit comments