aboutsummaryrefslogtreecommitdiffstats
path: root/servo-tidy.toml
blob: 7b3851ab9a1521def3c6cac476396cf9d6329712 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
[configs]
skip-check-length = false
skip-check-licenses = false
check-alphabetical-order = true
check-ordered-json-keys = [
  "./resources/prefs.json",
]
lint-scripts = [
  "./python/servo/lints/wpt_lint.py",
]

# Packages which we avoid using in Servo.
# For each blocked package, we can list the exceptions,
# which are packages allowed to use the blocked package.
[blocked-packages]
num = []
rand = [
  "crossbeam-channel", # Used to initialize a thread-local
  "gaol",
  "hashglobe", # Only used in tests
  "ipc-channel",
  "parking_lot_core",
  "phf_generator",
  "servo_rand",
  "smithay-client-toolkit",
  "tempfile",
  "tokio-threadpool",
  "uuid",
  "ws",
]

[ignore]
# Ignored packages with duplicated versions
packages = [
  "base64",
  "block-buffer",
  "byte-tools",
  "crossbeam-deque",
  "crossbeam-epoch",
  "crossbeam-utils",
  "digest",
  "generic-array",
  "rand",
  "unicase",
  "winapi",
]
# Files that are ignored for all tidy and lint checks.
files = [
  "./components/net/tests/parsable_mime/text",
  # Mako does not lend itself easily to splitting long lines
  "./components/style/properties/helpers/animated_properties.mako.rs",
  # Long regexes are long.
  "./components/style/gecko/regen_atoms.py",
  # Helper macro where actually a pseudo-element per line makes sense.
  "./components/style/gecko/non_ts_pseudo_class_list.rs",
  "./resources/hsts_preload.json",
  "./tests/wpt/metadata/MANIFEST.json",
  "./tests/wpt/mozilla/meta/MANIFEST.json",
  # Long encoded string
  "./tests/wpt/mozilla/tests/mozilla/resources/brotli.py",
  "./tests/wpt/webgl/meta/MANIFEST.json",
  "./support/android/openssl.sh",
  # Upstream code from Khronos/WebGL uses tabs for indentation
  "./tests/wpt/webgl/tests",
  # Our import script is not currently respecting the lint.
  "./tests/wpt/webgl/tools/import-conformance-tests.py",
  # Ignore those files since the issues reported are on purpose
  "./tests/html/bad-line-ends.html",
  "./tests/wpt/mozilla/tests/css/fonts",
  "./tests/wpt/mozilla/tests/css/pre_with_tab.html",
  "./tests/wpt/mozilla/tests/mozilla/textarea_placeholder.html",
  # Python 3 syntax causes "E901 SyntaxError" when flake8 runs in Python 2
  "./etc/taskcluster/decision_task.py",
  "./etc/taskcluster/decisionlib.py",
]
# Directories that are ignored for the non-WPT tidy check.
directories = [
  # Upstream
  "./support/android/apk",
  "./support/linux/gstreamer",
  "./support/magicleap/Servo2D/.vscode",
  "./support/magicleap/Servo2D/code/inc.gen",
  "./support/magicleap/Servo2D/code/src.gen",
  "./support/magicleap/Servo2D/pipeline",
  "./tests/wpt/harness",
  "./tests/wpt/update",
  "./tests/wpt/web-platform-tests",
  "./tests/wpt/mozilla/tests/mozilla/referrer-policy",
  "./tests/wpt/mozilla/tests/webgl",
  "./tests/wpt/sync",
  "./python/tidy/servo_tidy_tests",
  "./components/script/dom/bindings/codegen/parser",
  "./components/script/dom/bindings/codegen/ply",
  "./python/_virtualenv",
  "./components/hashglobe/src",
  # Generated and upstream code combined with our own. Could use cleanup
  "./target",
]

# Directories that are checked for correct file extension
[check_ext]
# directory, list of expected file extensions
"./components/script/dom/webidls" = [".webidl"]