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
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
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