Generate html and json of supported css properties.
Fixes#10196. Outputs html and json of supported css properties to `target/doc/` directory when deploying github-pages.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10208)
<!-- Reviewable:end -->
Generalize the style structs
This allows geckolib to pass gecko style structs and have the style system write to them directly, provided we implement all the traits.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10155)
<!-- Reviewable:end -->
This changes headless operation to strictly be a runtime option, rather
than a compile-time one. Note that the old headless version still relied
on a display server to support WebGL, while it now requires one all the
time.
Fixes#8573
We need to ignore geckolib/tools, otherwise we need to clobber stuff
to avoid a bunch of tidy errors in rust-bindgen etc.
We also preemtively ignore the soon-to-be-added build.rs for the same reason
it's ignored in style/, and gecko_style_structs.rs for the same reason that
bindings.rs is ignored.
The build system needs to disable gold on arm64 slaves. Other configuration is
done through environment variables, and buildbot hosts currently don't use a
.servobuild file at all.
This change adds the `get_env_bool` function to cast an environment variable's
string contents into a Python boolean, and uses it to retrieve the optional
SERVO_RUSTC_WITH_GOLD setting.
The contract for mach commands is to return zero / non-zero to indicate
success / failure, rather than throwing an exception. Since run_jquery.py
uses a 1 exit code when there are unexpected results, this would cause an
exception from check_call, which would then be printed with a stack trace.
Do not run WPT tidy on pyc files
Generalize the mechanism for skipping file patterns and use it for
generating the list of WPT files to lint. Add *.pyc to the list of
file patterns to skip.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9966)
<!-- Reviewable:end -->
Generalize the mechanism for skipping file patterns and use it for
generating the list of WPT files to lint. Add *.pyc to the list of
file patterns to skip.
Handle escaped strings in rust linting, tidy.py
A little annoying to read since we have to escape for python (\\) and
then escape for re (\\\\) and then even at times escape for single
quotes immediately after, (\\\\\), but tidy.py now strips strings even
if they have escapes before linting.
Fixes#9806 -- basically the problem is that the PR which first revealed this had an escape in one of its strings which included an = sign. The escape meant the string wasn't escaped before it looked for spaces around spaces.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9889)
<!-- Reviewable:end -->
tidy.py now strips strings even if they have escapes before linting.
Use raw strings for regex with lots of backslashes
Handle ALL escape sequences in strings for tidy, not just escaped string terminators
The deque file was removed in favour of an external crate.
The sync and sync_css directories are automatically created when updating the
in-tree copies of the wpt and css tests.
Currently if Servo is built using Cygwin, it is incorrectly classified
as "unknown" host, which makes downloading Rust and Cargo fail. This
commit fixes that.
This will run Servo with browser.html. We use the latest package in the
dependency tree if there are multiple copies, since there is no way for
Cargo to tell us which one is canonical.
Mach update-wpt should default to "--no-patch"
Change mach default behavior for `update-wpt` to use the "--no-patch" option and provide an alternate option "--patch" for anyone who does in fact want `update-wpt` to automatically create a commit.
Fixes#9666
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9685)
<!-- Reviewable:end -->