This makes it much easier to run rustfix on servo
(rustfix is still pretty buggy though)
Source-Repo: https://github.com/servo/servo
Source-Revision: 74925460952ac070ff5e365b6fe6b886fd81861b
<!-- Please describe your changes on the following line: -->
Given #12319 removes the direct dependency of geckolib to gcc, geckolib is now compilable without gcc, and thus builds within MozillaBuild.
This changeset also changes the triple to use the MSVC backend rather than GNU for Windows . I'm not sure whether this change is necessary, but given we use MSVC to compile Gecko on Windows, I think we would eventually need this anyway. Triples for MinGW64 and Cygwin are unchanged, so that existing build targets should not be broken.
Servo itself is still not buildable with MozillaBuild. To make that work, some changes to mozjs are necessary as well.
It is probably worth some infra coverage to avoid regression.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors (on MinGW)
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it only changes build system
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
r? @bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: 184b1ba91b5e73d4bbeacc9093f31f4c8570c0f4
Throws a tidy error when duplicated keys are present.
![screenshot from 2016-07-07 16-54-17](https://cloud.githubusercontent.com/assets/557689/16658260/fd19cece-4465-11e6-89b1-a79296ba6a72.png)
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#12283 (github issue number if applicable).
<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 638eb80110cf07ec2f07e43fd64a48042fe2925b
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#11815 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because CI already runs `./mach build-geckolib`
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: e50e4f99bf4668d183226251d8ea55fa36f72fe0
It contains several fixes to make `./mach build-geckolib` work on Windows.
Source-Repo: https://github.com/servo/servo
Source-Revision: 35a23bfef394fe451879f09979167b048a7bdc88
We didn't have a test for json parsing so lets start with that
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 34e53b1dca2202b1644e44258d67e52334e15bc4
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#12225 .
I did not add a test for this, instead I added a directory with an empty file inside the ignored directory, and checked whether this file was being ignored or not.
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 9c00331634c2c753637a873f600b9804e6145e62
--HG--
rename : servo/python/tidy/servo_tidy_tests/test_ignored/whee/test.rs => servo/python/tidy/servo_tidy_tests/test_ignored/whee/foo/bar.rs
Fixes a "can't find crate for `std`" error in mach build. Regression from #11945. r? @larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: beff8ee68f9116971e8d14b182a574ef9f42a994
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
<!-- Either: -->
- [x] These changes do not require tests because tooling
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
---
This not only makes us more consistent with the rest of the codebase but also:
* Makes us repeat less code like common flags and all that stuff.
* Reduces the noise of the build: You only get the output of the commands on
failure or when you pass the -v flag.
* Makes you able to select a single kind of build or multiple in the same
place.
I've basically kept the regen.sh script because of the LIBCLANG_PATH checks, but
at least from Linux I don't need them anymore. Also, that logic could be moved
to the new script.
The whole point of this isn't only making it prettier and easier to use, but
also allowing me to write more complex logic in the binding generator scripts,
that I will probably need to integrate the DOM enum types we need for animations
and such easily (can't be just an include, because that pulls in another header
with the same name bringing a lot of DOM and IDL churn).
For reference, here's a successful regen round with the script:
```
./regen.py --target all /home/emilio/projects/moz/stylo/gecko/obj-x86_64-pc-linux-gnu/
[BINDGEN] structs::release in "/home/emilio/projects/moz/stylo/gecko/obj-x86_64-pc-linux-gnu/"... OK
[RUSTC]... OK
[RUSTC_TEST]... OK
test result: ok. 168 passed; 0 failed; 0 ignored; 0 measured
[BINDGEN] structs::debug in "/home/emilio/projects/moz/stylo/gecko/obj-x86_64-pc-linux-gnu/"... OK
[RUSTC]... OK
[RUSTC_TEST]... OK
test result: ok. 169 passed; 0 failed; 0 ignored; 0 measured
[BINDGEN] bindings::None in "/home/emilio/projects/moz/stylo/gecko/obj-x86_64-pc-linux-gnu/"... OK
```
---
r? @bholley
Maybe @jgraham and/or @Wafflespeanut want to take a look to criticize my (lack of) pythonism ;-)
Source-Repo: https://github.com/servo/servo
Source-Revision: e78459e6670b218970dfebb189a0c8ef7614951f
<!-- Please describe your changes on the following line: -->
Added mach subcommand (build-stable) to build servo and its dependencies using a stable version of rustc.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#11806 (github issue number if applicable).
<!-- Either: -->
- [X] These changes do not require tests because they're in the build process. I've manually tested both build and build-stable several times and in different orders and it seems to work. If the mach subcommands are tested automatically somewhere, I'll be happy to add a test, but I couldn't find it.
This is an example of output I get, which is what I'd expect:
```plain
[gpoesia@gabriel-notebook servo]$ ./mach build
looking for rustc at /home/gpoesia/dev/servo/.servo/rust/2016-06-24/rustc-nightly-x86_64-unknown-linux-gnu/rustc/bin/rustc
Downloading Rust compiler...
Downloading Rust compiler: 100.0%
Extracting Rust compiler...
Rust compiler ready.
Downloading Host rust library for target x86_64-unknown-linux-gnu...
Downloading Host rust library for target x86_64-unknown-linux-gnu: 100.0%
Extracting Rust stdlib for target x86_64-unknown-linux-gnu...
Rust x86_64-unknown-linux-gnu libs ready.
Build completed in 0:00:01
[gpoesia@gabriel-notebook servo]$ ./mach build
Build completed in 0:00:02
[gpoesia@gabriel-notebook servo]$ ./mach build-stable
looking for rustc at /home/gpoesia/dev/servo/.servo/rust/rustc-1.9.0-x86_64-unknown-linux-gnu/rustc/bin/rustc
Rust compiler already downloaded. Use |bootstrap-rust --force| to download again.
Rust lib for target x86_64-unknown-linux-gnu already downloaded. Use |bootstrap-rust --force| to download again.
Compiling log v0.3.6
Compiling tenacious v0.2.1
Compiling traitobject v0.0.1
Compiling azure v0.4.6 (https://github.com/servo/rust-azure#4d72934a)
Compiling crossbeam v0.2.9
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:1:1: 1:42 error: #[feature] may not be used on the stable release channel
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:1 #![feature(plugin_registrar, box_syntax)]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:3:1: 3:27 error: #[feature] may not be used on the stable release channel
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:3 #![feature(rustc_private)]
^~~~~~~~~~~~~~~~~~~~~~~~~~
error: aborting due to 2 previous errors
Build failed, waiting for other jobs to finish...
error: Could not compile `tenacious`.
To learn more, run the command again with --verbose.
Build completed in 0:00:03
[gpoesia@gabriel-notebook servo]$ ./mach build-stable
looking for rustc at /home/gpoesia/dev/servo/.servo/rust/rustc-1.9.0-x86_64-unknown-linux-gnu/rustc/bin/rustc
Rust compiler already downloaded. Use |bootstrap-rust --force| to download again.
Rust lib for target x86_64-unknown-linux-gnu already downloaded. Use |bootstrap-rust --force| to download again.
Compiling js v0.1.3 (https://github.com/servo/rust-mozjs#707bfb4f)
Compiling serde_item v0.2.0
Compiling encoding-index-tradchinese v1.20141219.5
Compiling angle v0.1.0 (https://github.com/servo/angle?branch=servo#d0a2db05)
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/serde_item-0.2.0/src/lib.rs:3:43: 3:74 error: #[feature] may not be used on the stable release channel
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/serde_item-0.2.0/src/lib.rs:3 #![cfg_attr(not(feature = "with-syntex"), feature(rustc_private, plugin))]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: aborting due to previous error
Build failed, waiting for other jobs to finish...
error: Could not compile `serde_item`.
To learn more, run the command again with --verbose.
Build completed in 0:00:37
[gpoesia@gabriel-notebook servo]$
```
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Github issue: #11806
Building with current stable rust (1.9.0) still fails because of
feature pragmas in some dependencies (e.g. serde_item).
Source-Repo: https://github.com/servo/servo
Source-Revision: 1e1db061c039d6e7635310c0c728cfb959322249
--HG--
rename : servo/resources/shaders/debug_color.fs.glsl => servo/ports/stable-rust/src/lib.rs
<!-- Please describe your changes on the following line: -->
Added a regex check to enforce project style guidelines. Added unit check. Catches:
```
}
else {
```
when it should be
`} else {`
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors (no core files changed)
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#12234 (github issue number if applicable).
<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: e21b47c2cc14897380a8c4ef2dfa650b1dd48ab5
<!-- Please describe your changes on the following line: -->
Updating packaging so that packages use '-' instead of a ':'
r? @ConnorGBrewster
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] These changes fix#11984 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because they are updating packaging
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: bb18e99597554b104b071adc96521895f550286d
<!-- Please describe your changes on the following line: -->
Shebang is missing and therefore `./runservo.sh` does not work under some environments.
I've chosen to use `/usr/bin/env sh` instead of `/bin/sh` or `/usr/bin/sh` to auto-select the right `sh` executable depending on the environment.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
<!-- Either: -->
- [X] These changes do not require tests because it does not affect servo itself but rather the resulting package under some environments.
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 1ed06777ee1e69c8b56715c897a5bd66ad9e235e
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy --faster` does not report any errors
- [X] These changes fix#11241 (github issue number if applicable).
Either:
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
Not 100% sure of a good way to test this, so I'm submitting as is for feedback. Manually testing it appears to work fine.
Source-Repo: https://github.com/servo/servo
Source-Revision: 5478e605aef93cc384b709688cc68e3ed854a68b
<!-- Please describe your changes on the following line: -->
I had to run `install_name_tool` on some dylibs for their deps and not just on the servo binary itself. I have checked and Servo.app runs on machines without extra things installed (ex. harfbuzz).
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#11907 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because fixing mac packaging.
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: f6db3518ca9d81ea8fd938586252e690755d7445
<!-- Please describe your changes on the following line: -->
This creates Servo.app and puts it in a dmg along with a symlink to `/Applications`.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because creating packager
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 7b2080c5b7c933f74c0d92249a66f8602340ebbe
--HG--
rename : servo/resources/prefs.json => servo/resources/package-prefs.json
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because they only change Mach code
This is needed for the moment because of a bug in virtualenv (reported upstream).
r? @metajack (you were the one who suggested that we check this. I did it in a slightly simpler way since I realized we over-complicated things a bit when talking about it the other day.)
Source-Repo: https://github.com/servo/servo
Source-Revision: 887376b225d1969b04b8893afffaa4d65ea6ba1a
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because not testable
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Follow up of https://github.com/servo/servo/pull/11735. `.enabled` is missing in the python scripts.
Source-Repo: https://github.com/servo/servo
Source-Revision: 86d65b60647c185e656e3ae607a3762e667974ad
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#11686 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because this cannot be automated tested.
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: eeed5b6ec26f7d78a938abb2d4b6a1cce8bf2472
<!-- Please describe your changes on the following line: -->
This allows removing `#![feature(as_unsafe_cell)]` in geckolib and make progress towards #11815.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix part of #11815.
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require new tests because they don’t introduce no functional changes.
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 3de14d9ca0cf54e6a2ae4eac5ff47e38e724b77b
<!-- Please describe your changes on the following line: -->
Fix ./mach run --debug --browserhtml
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix#11388
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they concern dev tooling and there's no testing infrastructure for "./mach run --debug"
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: ca26e95e440371c5a378f65b2d4e980a2f2b807f
Made changes so that mach test-tidy considers the ignored directories
Fixes#11386
Source-Repo: https://github.com/servo/servo
Source-Revision: bc2f4c3450787654c955c7b4ce08d98f1f168e70
<!-- Please describe your changes on the following line: -->
Add a `mach update-pub-domains` command that update the public domain list used by servo.
Replace the Vec matching with a HashSet which is way quicker.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#11216
<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 4dbba2dcabbde11b01a95078ba75742aff3fc44d
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#11369
Source-Repo: https://github.com/servo/servo
Source-Revision: 1e968b0d3f72199d69f35831bcc9e8ed7d4bbc33
Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [ ] `./mach build -d` does not report any errors
- these changes don't touch anything that mach build touches>
- [ ] `./mach test-tidy --faster` does not report any errors
- Tidy errors on some dependencies that I think we'll need for real `package` but aren't using for android
- [X] These changes address #9918 (github issue number if applicable).
Either:
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because I don't think Mach has tests yet?
Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.
Source-Repo: https://github.com/servo/servo
Source-Revision: bc52617d3351d64cfd1479c5088b591370529f59
Add freebsd to `host_triple` so that the correct nightly compiler will be downloaded. There are still other crates that need patching to compile, but this is a start.
---
- [ ] `./mach build -d` does not report any errors
- Other crates need patches
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because: the correct compiler is not downloaded without this commit
Part of: #11625
Source-Repo: https://github.com/servo/servo
Source-Revision: fada22ab53a532a9adbad0bfc0d5b5d7d4b8cd26
Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#11137 (github issue number if applicable).
Either:
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____
Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.
Source-Repo: https://github.com/servo/servo
Source-Revision: 93f137f06d36059105d62ffc6829d65f7efe0d9d
<!-- Please describe your changes on the following line: -->
This makes `generate_style_structs.py` generate bindings for both `DEBUG` and non-`DEBUG` Gecko configurations. The corresponding generated bindings are used in geckolib based on `cfg(debug-assertions)`.
I regenerated bindings on top of Gecko master plus https://bugzilla.mozilla.org/show_bug.cgi?id=1277154 (landing soon), which tripped up the bindgen due to bitfield layout issues.
r? @emilio
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they are geckolib only
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 71db2705edbf2381849af0e2edf7743c286881ec
--HG--
rename : servo/ports/geckolib/gecko_bindings/structs.rs => servo/ports/geckolib/gecko_bindings/structs_debug.rs
rename : servo/ports/geckolib/gecko_bindings/structs.rs => servo/ports/geckolib/gecko_bindings/structs_release.rs
<!-- Please describe your changes on the following line: -->
Add `--all` argument to get `./mach test --all` for running all test suites. Remove broken `faster` argument passed to `test_tidy()` when running `./mach test`.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#9544 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because fixing `mach test`
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: fd03e02291623bea34d94fb4f12671d9735ed04e
<!-- Please describe your changes on the following line: -->
This removes the code and support infrastructure for the gonk port.
r? @metajack
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x ] `./mach build -d` does not report any errors
- [x ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [ x] These changes do not require tests because there are no tests
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: e3b2d6aef0bbf96cc55f1235461d757cf685f0e0
This automates something that I find myself frequently commenting on in PRs.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] There are tests for these changes OR
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 3ec20d9cf517c67f4d280e8958cc58c4c2b4fbb2
Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [X ] `./mach build -d` does not report any errors
- [X ] `./mach test-tidy --faster` does not report any errors
- [X ] These changes fix#11320 (github issue number if applicable).
Either:
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____
Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.
Source-Repo: https://github.com/servo/servo
Source-Revision: 2f9796fa696e9514280777398467696dd4f004b3
This is a part of @rebstar6's work on #11422, with only her test fixes and the enabling of them, to ease review on the actual implementation.
Source-Repo: https://github.com/servo/servo
Source-Revision: c432e9ac540add7a7224cb20af98519544ae0189
"0:03:40.817715" is harder to read and no more informative than "0:03:40"
Source-Repo: https://github.com/servo/servo
Source-Revision: 345b8b9c00b146259b2b665775c3a5aa7ded6056
Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#11217 (github issue number if applicable).
Either:
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they just change command-line options, which aren't tested
Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.
This finishes #11267
Source-Repo: https://github.com/servo/servo
Source-Revision: ebb690d28c3c36ffba7059b64361fed3847861c7
It's actually quite weird that I had to do this, but I got errors without it (on Windows). I noted the `BIN_SUFFIX` existed elsewhere so it felt logical to use it here also.
Source-Repo: https://github.com/servo/servo
Source-Revision: 40b2d424c08ce089dba8800fa310097276b3607e
Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy --faster` does not report any errors
- [X] These changes partially fix#11217
Either:
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it just affects `mach` script parameters
Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.
Source-Repo: https://github.com/servo/servo
Source-Revision: b6e06bd83740ea5dc3385f88daf88677fc676f11
Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy --faster` does not report any errors
- [x] These changes fix#8348
Either:
- [X] These changes do not require tests because ~~I'm lazy~~ it's a configuration change, and asserting default values is usually tedious and not very helpful
Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.
---
Allegedly, this broke the build [back in the day](https://github.com/servo/servo/pull/8519).
Going to see if it's a piece of cake to land now
Source-Repo: https://github.com/servo/servo
Source-Revision: ea38ccfdfe12c64d41ff460f358e21cafead8414
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy --faster` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
Either:
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it's a package update
Source-Repo: https://github.com/servo/servo
Source-Revision: aa9fc4e0549c54fafef358a50f32f520c9014ba6
Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy --faster` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
Either:
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because testing would be overly difficult
Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.
This implements system level DPI awareness for Windows. It has three
parts:
1. Add a application manifest which is copied alongside servo.exe during
build that declares our DPI awareness level. This is needed otherwise
DPI queries will return 96dpi and our application will be upscaled on
high DPI displays.
2. Rename hidpi_factor to avoid confusion with Glutin's hidpi_factor
which does something else.
3. Correctly convert windows sizes on window creation for
Windows. Unlike OS X, Windows uses device pixels for window creation.
Source-Repo: https://github.com/servo/servo
Source-Revision: 63bbc13fffeaa14f15ff9270f7d6355fab4d3d56
Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy --faster` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
Either:
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because refactoring
Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.
Source-Repo: https://github.com/servo/servo
Source-Revision: 872565bb4bd2883c6fe926da74e3b3e2b74e6d34
--HG--
rename : servo/components/compositing/constellation.rs => servo/components/constellation/constellation.rs
rename : servo/components/compositing/timer_scheduler.rs => servo/components/constellation/timer_scheduler.rs
Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#9965
Either:
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____
Add unit tests for the `net` component about cookies. The tests are generated
with a new `mach update-net-cookies` command from this repo: https://github.com/abarth/http-state.
This PR also includes two trivial bug fixes about cookie handling.
From all the tests included, the following ones are currently failing:
- cookie_http_state::test_0003
- cookie_http_state::test_0006
- cookie_http_state::test_attribute0004
- cookie_http_state::test_attribute0005
- cookie_http_state::test_attribute0007
- cookie_http_state::test_attribute0008
- cookie_http_state::test_domain0017
- cookie_http_state::test_mozilla0001
- cookie_http_state::test_mozilla0002
- cookie_http_state::test_mozilla0003
- cookie_http_state::test_mozilla0005
- cookie_http_state::test_mozilla0007
- cookie_http_state::test_mozilla0009
- cookie_http_state::test_mozilla0010
- cookie_http_state::test_mozilla0013
`test_000[36]` and `test_mozilla*` are failing because there is currently no
method to clean a `net::cookie_storage` from expired cookies.
`test_attribute000[4578]` are failing because hyper does not parse the `Secure`
attribute correctly. I will open an issue on the upstream project.
`test_domain0017` fails because the TLD .org is not on the PUB_DOMAINS list.
Source-Repo: https://github.com/servo/servo
Source-Revision: c519739b7bcf408f2f671a89729aa30f39dd67a1
Addresses issue #10702
the tidy self-test doesn't seem to catch the `member_name:"Foo"` line like it should. the regex follows similar pattern in the file and works in my regex tester tool, so not really sure what is going on there.
Source-Repo: https://github.com/servo/servo
Source-Revision: 8c2c0bd964bfbf1a2d7494bd8fbbdd263173ef7d
* Remove unnecessary dependencies and features from top-level Cargo.tomls. The features for each crate will be computed based on the union of features specified in the dependency graph. Specifying the same ones again just adds more ways for them to get out of sync.
* Move all cargo build environment variables into CommandBase
Fixes#11112. r? @metajack
(Not included: CI test to make sure #11112 doesn't regress again.)
Source-Repo: https://github.com/servo/servo
Source-Revision: 7f76e3ba74a11f1f4bb46f12e17c06270175908f
This preserves the fix from #11097 in the situation where `$CARGO_HOME` and `cargo-home-dir` in `.servobuild` are both present: `.servobuild` should win.
But it changes the behavior when `$CARGO_HOME` is present and `.servobuild` is not: Then `$CARGO_HOME` should be used.
We now check the following values in order of priority and use the first one that is found:
1. `cargo-home-dir` in `.servobuild`
2. `CARGO_HOME` in the environment
3. default value (`<servo-repo>/.cargo`)
r? @larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: fcebfcc1130b7b3e74f14c8375f825f148e0f152
This use always `cargo-home-dir` in `/.servobuild` even if you set `CARGO_HOME` in your shell.
If you use [racer][racer] with [rustup (multirust.rs)][rustup], you may set `CARGO_HOME` env variable to your shell. Then the previous code would be a problem which does not use `cargo-home-dir` in `/.servobuild`.
[racer]: https://github.com/phildawes/racer
[rustup]: https://github.com/rust-lang-nursery/rustup.rs
Source-Repo: https://github.com/servo/servo
Source-Revision: 0617727f5b58d1c4ebb10cf081f5952b7961fbf4
The default maximum line length Python linters use is 79, so a bunch of editor plugins complain about line lengths, unless you have a tox.ini telling the linter to ignore line lengths (E501) explicitly.
Source-Repo: https://github.com/servo/servo
Source-Revision: c3323f3c70ab53e5fe2f9aae7ba26b1a21cd622a
Gets rid of duplicate versions of bitflags and xml-rs!
Source-Repo: https://github.com/servo/servo
Source-Revision: e94f489e55e0fafed1c88b4d8f833f23545fc48b
After actually reading a Python tutorial, I realised this can be handled
in a more elegant fashion :-)
Source-Repo: https://github.com/servo/servo
Source-Revision: 283eb4129664593f050e95c092e672a18f4658fc
The NEON flag is already used when building for Android, this patch enables it on other ARM devices too.
Note that this patch just adds the build flag to the compilation, for actually enabling the SIMD code in Servo, we'll also need #10900 (but it's not a dependency).
Source-Repo: https://github.com/servo/servo
Source-Revision: a233d1e39b9549f7b24937ca4de9de0719bb890c
I mean, I like to convert seconds in my head, only almost every day ;)
Source-Repo: https://github.com/servo/servo
Source-Revision: fb5e00c2944533a4b365d26aadc41ca5b10cfefb
When I originally rewrote Servo's mach bootstrapping (using virtualenv
w/ requirements.txt in #7103), I didn't specify mach as a requirement
because a new version hadn't been published in a while. Now that 0.6
is out, I asked the mach maintainers to publish a new version on PyPI,
so now we can fetch it like the other Python dependencies.
Fixes https://github.com/servo/servo/issues/10728.
Source-Repo: https://github.com/servo/servo
Source-Revision: e39ed932cb8c67eac98d44d00ed5bf642c026846
Adds a temporary exception to allow multiple versions of lazy_static. PRs have already been filed on the packages that are still using the old version.
Source-Repo: https://github.com/servo/servo
Source-Revision: 361b2b900eeea821a9a79d8566f8cd31dfb1b1ea
See #10719.
It skips *.webidl files for now since I am not sure where they come from and if they should be edited in tree or not.
Source-Repo: https://github.com/servo/servo
Source-Revision: 04f8ae56db0ba9df798b39a5b2f1bb1e23d6dcf3
As discussed in #9256. It should solve second half of the issue.
Source-Repo: https://github.com/servo/servo
Source-Revision: 0a3a50a1293e4e8f3e04161014d03802765140c7
Partial implementation of the issue #10692 (the easy part).
Source-Repo: https://github.com/servo/servo
Source-Revision: d926b5d3762a101d5280266f806f2b979f73b695
This is a new attempt of #10586, after Simon Sapin's great cleanups in #10749 has landed. I have adjusted the changes to the new structure that was introduced, and also only done a few of the longhand ones. Will certainly continue on this as soon as we have a basic agreement that this style is reasonable.
Source-Repo: https://github.com/servo/servo
Source-Revision: 69acd8e1ccba8ff01e8f7fde4305956ba5ab866d
Print a human-friendly message if there is no internet connection.
Source-Repo: https://github.com/servo/servo
Source-Revision: f73c6143d5375db80fd2e0b7de96a99c78b5866b
Missed a couple things in https://github.com/servo/servo/pull/10590
`licenseck.py` was moved into `tidy/servo_tidy/licenseck.py` by the prior PR
r? @larsbergstrom (sorry for PR spamming today)
Source-Repo: https://github.com/servo/servo
Source-Revision: 9d23d7c0d98e24995243487b55abbf2acd1ec354
This fixes https://github.com/servo/servo/issues/861.
@askeing, I've copied your work from https://github.com/askeing/servo_tidy and attributed the commit to you. My commit in this PR is Git housekeeping to preserve `tidy`'s history. If you'd like to make additional changes, I've given you and @shinglyu push access to my fork of Servo. Apologies if this is already familiar, but the workflow for pushing to my branch is:
```
$ git remote add edunham git@github.com:edunham/servo.git
$ git checkout -b package-tidy
$ git pull edunham package-tidy
$ git push edunham package-tidy
```
Once this lands, I'll look at how to publish it to PyPI and automate that process.
Please don't merge this yet; we still need to discuss how the change should work around https://github.com/servo/servo/blob/master/python/servo/testing_commands.py#L33 , as I've yet to figure out how to get the egg to actually expose its tests.
Source-Repo: https://github.com/servo/servo
Source-Revision: bfe54539d290cb287e59e8ba106a54a3fab6201a
--HG--
rename : servo/python/tidy_self_test/__init__.py => servo/python/tidy/servo_tidy/__init__.py
rename : servo/python/licenseck.py => servo/python/tidy/servo_tidy/licenseck.py
rename : servo/python/tidy.py => servo/python/tidy/servo_tidy/tidy.py
rename : servo/python/servo/__init__.py => servo/python/tidy/servo_tidy_tests/__init__.py
rename : servo/python/tidy_self_test/incorrect_license.rs => servo/python/tidy/servo_tidy_tests/incorrect_license.rs
rename : servo/python/tidy_self_test/long_line.rs => servo/python/tidy/servo_tidy_tests/long_line.rs
rename : servo/python/tidy_self_test/rust_tidy.rs => servo/python/tidy/servo_tidy_tests/rust_tidy.rs
rename : servo/python/tidy_self_test/spec.webidl => servo/python/tidy/servo_tidy_tests/spec.webidl
rename : servo/python/tidy_self_test/speclink.rs => servo/python/tidy/servo_tidy_tests/speclink.rs
rename : servo/python/tidy_self_test/test.toml => servo/python/tidy/servo_tidy_tests/test.toml
rename : servo/python/tidy_self_test/tidy_self_test.py => servo/python/tidy/servo_tidy_tests/test_tidy.py
rename : servo/python/tidy_self_test/tidy_self_test.py => servo/python/tidy/servo_tidy_tests/tidy_self_test.py
rename : servo/python/tidy_self_test/whatwg_link.rs => servo/python/tidy/servo_tidy_tests/whatwg_link.rs
rename : servo/python/tidy_self_test/wrong_space.rs => servo/python/tidy/servo_tidy_tests/wrong_space.rs
To quote Lars Bergstrom:
> yeah, that's a giant footgun :-)
Source-Repo: https://github.com/servo/servo
Source-Revision: db4481b4509db4be83e0f77a66884feccd1878e0
I've created tests for spaces check and license. Tell me if it's good direction so I'll add more tests.
Source-Repo: https://github.com/servo/servo
Source-Revision: 72eae396795d61c0f68d5f09dd84f0835bf10c79
--HG--
rename : servo/python/servo/__init__.py => servo/python/tidy_self_test/__init__.py
As suggested on the issue, files are stored as `.part` and moved to the original name when done.
Source-Repo: https://github.com/servo/servo
Source-Revision: e431bda9ea6c8a79c98d98668dd934fafd4f7092
This fixes https://github.com/servo/servo/issues/10260 by pulling in
https://github.com/servo/ipc-channel/pull/61 (fix receive for messages
close to packet size) and https://github.com/servo/ipc-channel/pull/62
(properly handle ENOBUFS); where the latter is not critical per se, as
there was a workaround already -- but that workaround aggrevated the
first bug, resulting in the urgent issue...
This bump requires a tidy override for `uuid`: `ipc-channel` was updated
to `uuid 0.2` in https://github.com/servo/ipc-channel/pull/63 (don't
know why...), while other crates are still with `0.1`. That was blocking
this urgent bug fix; and according to a discussion with @mbrubeck on
IRC, the override should be OK in this case.
Source-Repo: https://github.com/servo/servo
Source-Revision: 0b951f65b969ccc3445079a70686cf2146e365d7
Previously `./mach run` with the `-b` flag set ignored everything passed after the `--`, so for example when running `./mach run -d -b -- --help`, `--help` was not passed to servo - it is now.
Source-Repo: https://github.com/servo/servo
Source-Revision: 5e73e1015b588da6b641a7a4175e51430d9b7019
I'll rebase #10224 against it.
Sorry for the blocking of #10224, I expected it to be reviewed way sooner, my fault for landing breaking changes.
r? @nox or @pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 84a3dee67ea7a45d6ec505f59c7a55162621f11e
Fixes#10196. Outputs html and json of supported css properties to `target/doc/` directory when deploying github-pages.
Source-Repo: https://github.com/servo/servo
Source-Revision: df73a18a61e57f62e2e17541d45dcd3818b35b7c
This allows geckolib to pass gecko style structs and have the style system write to them directly, provided we implement all the traits.
Source-Repo: https://github.com/servo/servo
Source-Revision: 605842f193aedc1151ab38a99c49f693c76e5cf3
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.
I figured it's worth throwing the helper function in now in case we later want to read booleans from other env vars, but there's currently no need to make up a name for and read from an env var for every single setting.
r? @larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 003fdd41769652188a5954e6499f3cb44eef6b10
https://github.com/servo/servo/issues/10002
./mach does not support paths with Unicode characters for now
it fail on original line 154 with exception UnicodeDecodeError
This patch handles the exception
Source-Repo: https://github.com/servo/servo
Source-Revision: 42c7472f336e687200507dafdf1087d8f0ea4d55
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.
Source-Repo: https://github.com/servo/servo
Source-Revision: 8eb4fb801b00ff9cacdfe13476bf1ac562d47ec6
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.
Source-Repo: https://github.com/servo/servo
Source-Revision: f1bb0b0fa3eacac718a825c103cbdd1a0365fbf9
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.
Source-Repo: https://github.com/servo/servo
Source-Revision: 25c6c29a27d2a176a967ee49d97a29ad1d3a140e
Currently if Servo is built using Cygwin, it is incorrectly classified as "unknown" host, which makes downloading Rust and Cargo fail. This pull request fixes that.
Source-Repo: https://github.com/servo/servo
Source-Revision: 31bdcbe7258cfa796b88505f5e29d75920e5c708
This makes the experience for testing browserhtml super easy.
Source-Repo: https://github.com/servo/servo
Source-Revision: 69f52d0f213aeec0d498798dfdaa15f8459a9a79
Fixes#9745
This is a very simple solution: try to load all json files, and catch any `ValueErrors` that pop up. Do we need something more complex?
Source-Repo: https://github.com/servo/servo
Source-Revision: dbceb60455282122d52a60c9ed6484eaa120e930
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
Source-Repo: https://github.com/servo/servo
Source-Revision: 455ed0ae6d4c82fd38762a92f0dd6697bd3b2b50
Improved tidy's code for efficiency (which now shows progress while checking through files)
Source-Repo: https://github.com/servo/servo
Source-Revision: 553cf3d8e8dfc5eb1222fc48b507d6578da6bc66
Split [`ensure_bootstrap`](https://github.com/danlrobertson/servo/blob/i9557/python/servo/command_base.py#L397-L422) into two phases including a phase checking the compiler, and a phase checking for target libraries. E.g.
```
# should download the stdlib for "i686-unknown-linux-gnu", "arm-linux-androideabi"
# and the hosts target
./mach build -d --target i686-unknown-linux-gnu --android
# should only download the stdlib for the hosts target
./mach build -d
```
Let me know if I missed anything! There are a few parts of this patch in its current state that I'm not a huge fan of, but I couldn't think of a better way in the moment.
Still new to working on servo, so any comments or critiques are welcome!
Fix#9557
Source-Repo: https://github.com/servo/servo
Source-Revision: 088963f774f5068ec8dc0f3bd88579bc1e84c18d
This adds a new `--chaos` flag to the `test-wpt` and `test-css` commands. This will run a test repeatedly until it fails, recording it with the rr debugger in chaos mode. Requires a recent master build of rr.
```
./mach test-wpt --chaos test.html
```
is shorthand for:
```
./mach test-wpt --repeat-until-unexpected \
--debugger rr \
--debugger-args "record --chaos" \
--include test.html
```
This PR currently includes changes to wptrunner which were also submitted upstream as w3c/wptrunner#170. We should not merge this until that upstream PR is merged. CC @jgraham
Source-Repo: https://github.com/servo/servo
Source-Revision: faa349fb876c4b163ba14623899c9f4e6ab3d0eb
This PR integrates `compiletest_rs` as suggested in #5646. I created a new `tests/compiletest` directory which contains separate crates for the tests.
Currently this PR includes `compile-fail` tests for some lints (acutally all except inheritance_integrity, beacuse I'm not sure how to include the dom stuff in a way the `#[dom_struct]` works).
I gathered that there should be more crates for which compiletests make sense and would appreciate any pointers to relevant crates.
Source-Repo: https://github.com/servo/servo
Source-Revision: d574b78313be75f3388123d11354b897598877a3
I updated the `WebIDL.py` from latest mozilla-central. And add a `./mach test-webidl` command. For #9397
Source-Repo: https://github.com/servo/servo
Source-Revision: 0ada7f9c8eda9879b5536cea3266c94214f9ce9b
This branch also includes the commit being reviewed in https://github.com/servo/servo/pull/9408 . Is it OK to just wait for that one to merge, or should I separate them?
This patch adds the BIN_SUFFIX to the servo executable name when doing ./mach run.
However just doing this caused subprocess to error due to some unicode symbols in PATH.
To fix this, I pulled a peice of code from mozilla-central which fixes this problem there. Source: https://dxr.mozilla.org/mozilla-central/source/python/mach/mach/mixin/process.py#108
Revisiting this now (originally developed this a few weeks ago), perhaps we should be using https://github.com/servo/servo/blob/master/python/mach/mach/mixin/process.py instead of subprocess to give us all of this crossplatform process execution support. I think that should be a nice to have though - this patch at least gets a necessary development command working on windows.
Tested on Windows and Ubuntu.
Source-Repo: https://github.com/servo/servo
Source-Revision: 80c29113485c0b7d7da6be9c4f64a2b8f1cde826
r? @frewsxcv for python stuff
r? @pcwalton for the "remove usage of Gaol" stuff for Win32
r? anybody else for misc cargo.lock updates, etc.
This replaces #7878.
This works best with https://github.com/servo/mozjs/pull/71, too, to enable static linking, but can be run without (via some PATH hackery).
The instructions are here, and will be added to a .md file in the repo once the mozjs changes also land:
https://hackpad.com/Servo-on-Windows-C1LPcI2bP25
I'd like to get these changes landed because I've been rebasing them for months, they're otherwise quite stable, and don't affect our other platforms and targets.
Source-Repo: https://github.com/servo/servo
Source-Revision: 525e77f64fc65ea2397b4ff3849f5b1f39386698
The wrapper stuff is partially-complete, modulo some unimplemented methods. The glue code is just a toy for now. Regardless, I think it's worth getting some of this stuff in-tree to minimize breakage.
Source-Repo: https://github.com/servo/servo
Source-Revision: 77d3fbcca3c6f7e8b4068f89e25b090977fe5672
I’ve been asked for that list by two different people this week :)
r? @larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: dba1f27305c5e81eda6acd4c438a2adfb6ed053d
add `faster` flag to `./mach test` command
in order to call `test-tidy` properly
close#9253
Source-Repo: https://github.com/servo/servo
Source-Revision: a345608a945b3ba6656715671bf0d67a8bd4c151
This should be pretty self-explanatory, it's less than a dozen bytes, after all. :)
Fixes#9151.
Source-Repo: https://github.com/servo/servo
Source-Revision: 4143caaa5796c4e6cfaa6b13d46b409819d822d7
For issue #9088, this adds a `--changes` option to `./mach test-tidy`. If this option is set, `tidy.py` will only check files that have been modified since `FETCH_HEAD`.
Mention: @Wafflespeanut
Source-Repo: https://github.com/servo/servo
Source-Revision: 74226836ba27afedebd88cd1269018ef2ba25959
When `.servobuild` has `android = true`, the `mach run` command should default to running on Android.
r? @larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: ea4206e36259cd464480fed3ca9ac6857568bd7c
This is an attempt at a reasonable fix for #8733.
Source-Repo: https://github.com/servo/servo
Source-Revision: 9fa56ccfdfb5e9d1c1a6967b28da89c8fab36900
… and remove mentions of "snapshots".
We now use rust-lang.org nightly builds rather than our own snapshots.
Source-Repo: https://github.com/servo/servo
Source-Revision: f34a656b14f3992203354ffe71dc649d69b6b592
--HG--
rename : servo/rust-snapshot-hash => servo/rust-nightly-date
If the selected debugger (requested explicitly or detected by mozdebug)
is gdb or lldb, use rust-gdb or rust-lldb instead, if it's available in
the path and appears to be working.
(This should usually be the case when using the default debugger on
GNU/Linux or MacOS, as rust-gdb or rust-lldb is provided by the Rust
snapshot in use.)
Note: I cobbled this together without *any* previous Python experience -- so if it violates three dozen rules, and only works by luck on my own system during a favourable moon phase, don't hesitate to suggest improvements :-)
Source-Repo: https://github.com/servo/servo
Source-Revision: 4e3a435450a8a5ee4293266296700bf1bc579f7d
Currently it sets the SERVO_URL variable, which Servo no longer supports.
r? @larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 2a3a7a73b54f89344b130e10811a2fc1f9a6c729
This PR adds a `mach install` command (a convenient way to run `adb install`), and does some minor code cleanup.
It also fixes parallelism in the OpenSSL build. For [complicated reasons][1], a sub-Make will not inherit `-j` options from its parent process unless it is invoked directly from another Makefile. This means we should run make from openssl.makefile rather than openssl.sh.
r? @larsbergstrom
[1]: http://make.mad-scientist.net/papers/jobserver-implementation/
Source-Repo: https://github.com/servo/servo
Source-Revision: a1fb12616a29d2190baadd20d7763af1d9c02260
I've created a draft, please give me feedback. Is it good direction?
Fixes#8568
Source-Repo: https://github.com/servo/servo
Source-Revision: e774a694407a435c7fb3ecee68b5bb50fbf2dc43
As mentioned in #7512 and #7637, the environment variable SERVO_HEADLESS
enables building the OSMesa version of Servo when it is set to 1.
Instead, this should be a command line option to mach's build command.
Fixes#7637.
Source-Repo: https://github.com/servo/servo
Source-Revision: 3c0cd5eb068945860fb357c975bfbe6070eebe49
This makes the initial download for skia go from a 300 MB git repository to a 5 MB tarball. This should help with issues like #6132 and #7687.
Fix https://github.com/servo/skia/issues/70
This builds, but the at the moment causes a number of tidy errors for duplicated crates.
Source-Repo: https://github.com/servo/servo
Source-Revision: 8b95d7b8d860ec4c0834192083361a9fb78ddbeb
Urg! The Chromium HSTS preload JSON file contains single line comments. Previously these were filtered out with a very simple regex that just looked for '//' and removed the line. Now the file has added a couple fields that have URLs in them that were erroneously removed and caused the JSON parsing to fail. This commit slightly complicates the regex to fix this specific problem.
If this happens again, it's likely worth it to figure out how to use a real parser to remove the comments.
servo/servo#8760
Source-Repo: https://github.com/servo/servo
Source-Revision: 2be60be062e14c937af601faed78a6aceccdb062
Instead of always using the absolute path to the reference file when
creating new reference tests, create-wpt now creates relative URLs if
the files are in the same directory. This is the most common case for
new Servo tests. Also fix some missing quotation marks in the
create-wpt template.
Source-Repo: https://github.com/servo/servo
Source-Revision: 5fda719fa8cd513d888011d12262bb8ccd000dce
r? @Manishearth
This lets devs configure their use of CCACHE with their .servobuild file, as usual. For build environments, they can either have a .servobuild file or set the CCACHE env var to point at the ccache binary to use.
It also adds support for ccache to our travis builds. Buildbot will come in a separate commit to the saltfs repo.
It is expected that the various cargo makefiles will look at this variable and do the "right thing" to tell their native build to instead use ccache. e.g., https://github.com/servo/mozjs/pull/62
Source-Repo: https://github.com/servo/servo
Source-Revision: d16ba51b4722a84f69976ca8679af672495248c8
When mach_bootstrap got interrupted while it's setting up virtualenv or
calling out to pip, it wouldn't repeat that step on subsequent runs, and
mach fails because its environment isn't set up properly or dependencies
are missing.
So now we re-run virtualenv if activate_this.py doesn't exist, and only
create the marker file for required packages after pip has returned
successfully.
Source-Repo: https://github.com/servo/servo
Source-Revision: afc41ec4ac404a160edb8c8fb12434fe54d59821
r/f? @mbrubeck
No need to r+ urgently; I want to do a little bit more testing of the release build, but I'm hoping to land this bit (moving to a more sane build process) next week.
The new version of building an APK:
1) Removes the glutin-based APK builder from the link step
2) Adds a build.rs step to the build of the final Servo library that adds the native code required by glutin's android_rs_glue (e.g., `ANativeActivity_onCreate` definition)
3) Replaces the link step with a `fake-ld.sh` script that instead creates a libservo.so
4) Adds a new mach `package` step to build the APK that has some Rust code that builds the library from a set of in-tree build files
This setup fixes a number of problems:
1) We can use gdb, because we use `ndk-build`, which adds the .gdbserver info, plus we keep around all of the build files (also required by the ndk gdb)
2) We can add more Java code & hooks to handle Android intents
3) We no longer have any git submodules or the awkward two-step build with android-rs-glue
Many other setups were tried (and failed). The most obvious ones is building a libservo.so from a `dylib` target from the servo build on Android. This doesn't work because you can't have a different default lib target on one platform than others in Cargo, and you also can't pass it in from the commandline (e.g., --lib does not have a dylib arg). Additionally, if you don't go through the intermediate libservo.rlib step (which removes unused symbols), then you end up with a TON of missing symbols because our -sys crates are super sloppy about that. I spent a few weeks beginning to clean them up, but since it's something we can't easily enforce (and new -sys packages will have this problem, too, since it's only an issue with the Android loader), it made more sense to me to just have the build set up to discard those unused bits of code before they ever get to the linker, much less the loader.
Source-Repo: https://github.com/servo/servo
Source-Revision: 0699d38e80c029a384354da96596421f3a97ceef
This gives mach the ability to run clippy with `./mach clippy`.
Fixes#8134.
Source-Repo: https://github.com/servo/servo
Source-Revision: 79f300f0387ad8218d06511c429d071cdef0193c
Removes all those messy FooCast structures in InheritTypes.rs.
Source-Repo: https://github.com/servo/servo
Source-Revision: 674589c370d978f543e71f995d58c5b28e6e9842
Flags links to the single-page WHATWG specification and suggests the URL
for the multi page one.
Fixes#7998
Source-Repo: https://github.com/servo/servo
Source-Revision: 36998cd5b1ab8da63b6ec82c7d45b5dc08b5d42a