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
We don't need regex matching since ": &Vec<" doesn't
contain any special character.
New code reads better.
Fixes#7914.
Source-Repo: https://github.com/servo/servo
Source-Revision: 1192efed505ca19a395f22cd5e5733e8c57a6e82
Continuous non-transient notifications, common in workflows involving
many syntax errors, can completely take over the message tray. Making
Linux build notifications transient prevents them from stacking up in
Gnome Shell without having to click them individually.
Source-Repo: https://github.com/servo/servo
Source-Revision: 03f6415eb49656fd1ce8b4de8c8b083e97a4f9d7
Upgrade Cargo to get https://github.com/rust-lang/cargo/pull/1828, and use it for unit tests. This allows Cargo to get some more parallelism when compiling the test crates’ dependencies.
`touch components/util/lib.rs && mach test-unit` on my machine goes from 149 seconds to 124.
Source-Repo: https://github.com/servo/servo
Source-Revision: ba2714f4f607da77bd7200f88cfa16c1d10da9cd
r? @SimonSapin
* Allow reftest harness to take 0 or more testname arguments.
* Change `mach test-ref` parameter from `--name` to `--include`. This is consistent with other test suites, and also fixes a bug in `mach test` caused by a conflicting keyword parameter in `Registrar.dispatch`.
* Allow `mach test-ref` to take any number of `include` arguments.
Source-Repo: https://github.com/servo/servo
Source-Revision: 9488013b59e54f9a39cc89362ee6b84f89cc8ed0
Fixes#7618.
Allows running a specific Rust test with one of:
```
./mach test tests/unit/net/http_loader.rs
./mach test-unit tests/unit/net/http_loader.rs
./mach test-unit tests/unit/net/http_loader
./mach test-unit net/http_loader
```
Allows running a whole package's tests with one of:
```
./mach test tests/unit/net
./mach test-unit tests/unit/net
```
Source-Repo: https://github.com/servo/servo
Source-Revision: 5d04f8dc8e59fea8ef49beb89af26089421ef748
Allows running WPT tests in the tests/wpt/mozilla/ directory by using commands such as:
```
./mach test tests/wpt/mozilla/tests/mozilla/union.html
```
Fixes#7772.
Source-Repo: https://github.com/servo/servo
Source-Revision: 9a4eb565c4a423ed1278a5e28ad06775695861da
Since mach now puts everything into a virtualenv, we need to set the bundle identifier to allow sending notifications.
Source-Repo: https://github.com/servo/servo
Source-Revision: a1fb8cfbb0be8d0a73bc1e3b63eb704f48098b8f
This is a follow up of issue : Tidy has an off-by-one error #7686
It allows to raise the max length error when line is over than 120 not at 120 specifically.
Thanks for looking into it.
Source-Repo: https://github.com/servo/servo
Source-Revision: 8f1469eb08a437bcc6cfb510334be2b6430b4a8f
This PR is in reference to #7630
I've added a simple try catch around our use of subprocess.check_all when trying to invoke and use python's
- virtualenv
- pip
Upon failure, I use sys.exit with an error message for the user. Exit seemed appropriate as anything beneath those dependencies will fail to execute and result in a non friendly error message
Source-Repo: https://github.com/servo/servo
Source-Revision: 44de9173cc968957e4441c14f57014111a2b847e
...by using a 'marker file' to indicate whether we actually need to run pip.
Also a minor tweak for clarity.
Before (consistently):
```
$ time ./mach >/dev/null
real 0m0.666s
user 0m0.477s
sys 0m0.190s
```
After:
```
$ time ./mach >/dev/null # first run
real 0m0.665s
user 0m0.501s
sys 0m0.166s
$ time ./mach >/dev/null
real 0m0.121s
user 0m0.083s
sys 0m0.039s
```
Source-Repo: https://github.com/servo/servo
Source-Revision: b511004a616862394318381d7ef5ac3c59c7babe
Currently, ld.gold is always used for linking if found on the
system. There are some cases however when one may want to opt out
from using it. This patch adds the boolean field `rustc-with-gold`
to the `[tools]` section of `.servobuild`, which if set false,
disables the use of ld.gold.
Source-Repo: https://github.com/servo/servo
Source-Revision: 273306056428e0378ebf27a1573a783aad866b5f