mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Added test-tidy check for blocked packages.
This commit is contained in:
parent
7ace30f9bd
commit
e3a8e3b706
1 changed files with 35 additions and 0 deletions
|
@ -81,6 +81,27 @@ WEBIDL_STANDARDS = [
|
|||
" accessible to\n// web pages."
|
||||
]
|
||||
|
||||
# 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 = {
|
||||
"rand": [
|
||||
"deque",
|
||||
"gaol",
|
||||
"ipc-channel",
|
||||
"num-bigint",
|
||||
"parking_lot_core",
|
||||
"phf_generator",
|
||||
"rayon",
|
||||
"servo_rand",
|
||||
"tempdir",
|
||||
"tempfile",
|
||||
"uuid",
|
||||
"websocket",
|
||||
"ws",
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
def is_iter_empty(iterator):
|
||||
try:
|
||||
|
@ -338,6 +359,20 @@ def check_lock(file_name, contents):
|
|||
message += "\n\t\t" + name
|
||||
yield (1, message)
|
||||
|
||||
# Check to see if we are transitively using any blocked packages
|
||||
for package in content.get("package", []):
|
||||
package_name = package.get("name")
|
||||
package_version = package.get("version")
|
||||
for dependency in package.get("dependencies", []):
|
||||
dependency = dependency.split()
|
||||
dependency_name = dependency[0]
|
||||
whitelist = BLOCKED_PACKAGES.get(dependency_name)
|
||||
if whitelist is not None:
|
||||
if package_name not in whitelist:
|
||||
fmt = "Package {} {} depends on blocked package {}."
|
||||
message = fmt.format(package_name, package_version, dependency_name)
|
||||
yield (1, message)
|
||||
|
||||
|
||||
def check_toml(file_name, lines):
|
||||
if not file_name.endswith("Cargo.toml"):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue