Files
servo/servo-tidy.toml
Jonathan Schwender f4877c190e Embed default resources in Servo applications using a servo-default-resources crate (#43182)
This PR considers the following constraints:

- Resources must be available when building servo via a published
crates.io package (i.e. no `../../../resources/<file>` file references).
- Minimal setup when writing tests (`nextest` spawns each test in its
own process, so we don't want to explicitly initialize the resource
handler for every `#[test]` fn)
- Use local resources when developing locally
- Support loading the resources from a proper resource directory if the
embedder wishes so, including via a custom mechanism, not necessarily as
files

(File) Resources that are only accessed from servoshell are out of scope
of this PR, since it mainly focusses on unblocking publishing `libservo`
to crates.io.

Baking the resources into the binary by default simplifies the setup a
lot. We already supported that before, but only for testing purposes and
explicitly not for production builds.

Using [`inventory`](https://crates.io/crates/inventory) adds a simple
way for the embedder to replace the default baked in resources, while
also keeping the test usage of baked in resources simple.

rippy.png is also referenced from image_cache - We simply duplicate it,
since the image is small, to avoid adding unnecessarily complex
solutions like adding a dedicated crate.


Testing: Covered by existing tests. [mach try
full](https://github.com/jschwe/servo/actions/runs/23811669469)
Fixes: Part of #43145

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2026-04-01 07:16:28 +00:00

54 lines
2.0 KiB
TOML

[configs]
skip-check-licenses = false
[ignore]
# Files that are ignored for all tidy and lint checks.
files = [
"./components/shared/net/tests/parsable_mime/text",
"./components/default-resources/resources/hsts_preload.fstmap",
"./tests/wpt/meta/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",
# Upstream code from Khronos/WebGL uses tabs for indentation
"./tests/wpt/webgl/tests",
# Vendored from upstream
"./tests/blink_perf_tests/perf_tests",
"./tests/wpt/webgpu/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",
]
# Directories that are ignored for the non-WPT tidy check.
directories = [
# Test have expectations in them, causing tidy to fail.
"./support/crown/tests",
# Upstream
"./support/android/apk",
"./tests/wpt/harness",
"./tests/wpt/tests",
"./tests/wpt/mozilla/tests/mozilla/referrer-policy",
"./tests/wpt/mozilla/tests/webgl",
"./python/tidy/tests",
"./python/mach",
# Generated and upstream code combined with our own. Could use cleanup
"./target",
"./support/crown/target",
"./third_party",
"./components/script_bindings/third_party",
# Cache files generated by wptrunner which fail the EOF newlines check.
"./tests/wpt/meta/.cache",
"./tests/wpt/mozilla/meta/.cache",
"./tests/wpt/webgl/meta/.cache",
]
# Directories that are checked for correct file extension
[check_ext]
# directory, list of expected file extensions
"./components/script_bindings/webidls" = [".webidl", "noidl"]