Commit graph

1023 commits

Author SHA1 Message Date
bors-servo
2567c40829 Auto merge of #18680 - MortimerGoro:android_flavors, r=larsbergstrom
Implement Gradle flavors for Android VR compilations

<!-- Please describe your changes on the following line: -->

This PR adds support to easily generate Android VR builds. Rust/Java VR dependencies are not added by default.

Default build (No VR support)
```
./mach build --release --android
./mach package --release --android
./mach install --release --android
```

GoogleVR builds (e.g. Daydream)
```
./mach build --release --android --features googlevr
./mach package --release --android --flavor googlevr
./mach install --release --android
```

OculusVR builds (e.g. Gear VR)
```
./mach build --release --android --features oculusvr
./mach package --release --android --flavor oculusvr
./mach install --release --android
```

---
<!-- 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: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18680)
<!-- Reviewable:end -->
2017-09-30 12:17:37 -05:00
Imanol Fernandez
e93130026a Implement Gradle flavors 2017-09-30 14:31:22 +02:00
Matt Brubeck
c4aadfadae mach: Don't overwrite RUSTFLAGS when enabling debug assertions 2017-09-29 09:53:16 -07:00
Anthony Ramine
577370746e Rename DOMRefCell<T> to DomRefCell<T>
I don't want to do such a gratuitous rename, but with all the other types
now having "Dom" as part of their name, and especially with "DomOnceCell",
I feel like the other cell type that we already have should also follow
the convention. That argument loses weight though when we realise there
is still DOMString and other things.
2017-09-26 09:49:08 +02:00
Anthony Ramine
d29335040d Rename MutJS<T> to MutDom<T> 2017-09-26 09:49:00 +02:00
Anthony Ramine
7be32fb237 Rename JS<T> to Dom<T> 2017-09-26 09:48:55 +02:00
Anthony Ramine
dafcd821f5 Fix some messages in the tidy script
It's MutJS<T>, not MutJS<JS<T>>.
2017-09-26 02:18:07 +02:00
Michael Droettboom
c9dafda03a Make tidy aware of Rust multiline strings
As a result of tighter and more correct handling of character
literals, this now catches a few kinds of syntax involving lifetimes
that were previously missed, so those have been updated.
2017-09-21 17:17:47 -04:00
Simon Sapin
054d49e988 Update osmesa-src to support building with mach 2017-09-18 18:46:25 +02:00
bors-servo
a3b85cbd6c Auto merge of #18031 - jhlin:android-build-on-macos, r=mbrubeck
Fix Android build errors on macOS.

- Add sysroot path to environment variable 'CPPFLAGS':
  When checking C preprocessor, the 'configure' script of libbacktrace uses 'CPPFLAGS' rather than 'CFLAGS' and doesn't get the correct search path. (#15758)
  This check passes on Linux because the '/lib/cpp' fallback is available there.

- Introduce CMake toolchain file for Android cross compiling:
  CMake needs several variables [1] to cross compile for Android.
  It works (accidentally) on Linux because cmake-rs sets compilers correctly and binutils for Linux & Android are pretty much the same.

[1] https://cmake.org/cmake/help/v3.7/manual/cmake-toolchains.7.html#cross-compiling-for-android-with-the-ndk

<!-- 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 #15758 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it's a fix to build errors.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18031)
<!-- Reviewable:end -->
2017-09-15 14:05:00 -05:00
Simon Sapin
052a8b500a './mach rustup': Use alternate S3 URL that doesn’t require SNI
… to hopefully fix https://travis-ci.org/servo/servo-with-rust-nightly/ builds.
2017-09-12 11:42:12 +02:00
Simon Sapin
f59bcc0064 Get rustc commit hash from channel manifest
… added in https://github.com/rust-lang/rust/pull/44218,
instead of using the GitHub API.
2017-09-12 11:42:11 +02:00
Simon Sapin
56b4f3ae70 Switch back to pinning Rust by Nightly date instead of commit hash…
… this time using a `rust-toolchain` file compatible with rustup:
https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file

And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29)

----

Now if both `system-rust` and `system-cargo` are set to `true` in `.servobuild`’s `[tools]` section,
and the corresponding `rustc` and `cargo` binaries are in fact rustup’s wrappers,
then rustup will use the correct version based on `rust-toolchain`.

CC https://github.com/servo/servo/issues/11361

Unlike https://github.com/servo/servo/pull/17927,
this does not make mach use rustup directly.
2017-08-31 14:30:28 +02:00
Hiroshi Hatake
4a9b4dfb69 Handle aarch64 cpu_type 2017-08-24 14:05:16 +00:00
bors-servo
4743696189 Auto merge of #18179 - davidcl:master, r=jdm
Automatically verify that derive() lists are alphabetically ordered #…

<!-- Please describe your changes on the following line: -->
Automatically verify that derive() lists are alphabetically ordered #18172

---
<!-- 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 #18172 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18179)
<!-- Reviewable:end -->
2017-08-23 17:18:31 -05:00
Clément DAVID
ab73f3d61d Automatically verify that derive() lists are alphabetically ordered 2017-08-23 21:04:14 +02:00
Fernando Jiménez Moreno
2d0037f195 Add paint metrics to Performance Timeline API 2017-08-23 17:30:13 +02:00
E. Dunham
c4651598f3 Continue after failed attempt to delete old nightly
Failure to catch this error broke bholley's PR:
http://build.servo.org/builders/linux-dev/builds/8616/steps/shell__1/logs/stdio.
Logs below for posterity.

Current Rust nightly version: 599be0d18f4c6ddf36366d2a5a2ca6dc65886896
Current Rust stable version: 1.19.0
Removing /home/servo/.servo/cargo/13d94d5fa8129a34f5c77a1bcd76983f5aed2434
Error running mach:

    ['clean-nightlies', '--keep', '3', '--force']

The error occurred in code that was called by the mach command. This is either
a bug in the called code itself or in the way that mach is calling it.

You should consider filing a bug for this issue.

If filing a bug, please include the full output of mach, including this error
message.

The details of the failure are as follows:

OSError: [Errno 2] No such file or directory:
'/home/servo/.servo/cargo/13d94d5fa8129a34f5c77a1bcd76983f5aed2434'

  File
"/home/servo/buildbot/slave/linux-dev/build/python/servo/bootstrap_commands.py",
line 334, in clean_nightlies
    delete(full_path)
  File "/home/servo/buildbot/slave/linux-dev/build/python/servo/util.py", line
28, in delete
    os.remove(path)
2017-08-11 12:17:51 -07:00
John Lin
fbdb2093dd Fix Android build errors on macOS.
- Add sysroot path to environment variable 'CPPFLAGS':
  When checking C preprocessor, the 'configure' script of libbacktrace uses 'CPPFLAGS' rather than 'CFLAGS' and doesn't get the correct search path. (#15758)
  This check passes on Linux because the '/lib/cpp' fallback is available there.

- Introduce CMake toolchain file for Android cross compiling:
  CMake needs several variables [1] to cross compile for Android.
  It works (accidentally) on Linux because cmake-rs sets compilers correctly and binutils for Linux & Android are pretty much the same.

[1] https://cmake.org/cmake/help/v3.7/manual/cmake-toolchains.7.html#cross-compiling-for-android-with-the-ndk
2017-08-10 12:12:54 +08:00
Manish Goregaokar
2ebce54d75 Remove testing feature from style crate 2017-08-07 14:30:31 -07:00
Simon Sapin
d0a2f7bcbe Fix bootstrapping during mach rustup without system cargo
https://travis-ci.org/servo/servo-with-rust-nightly/builds/255611949#L989
2017-07-21 13:57:07 +02:00
bors-servo
7d95fb8e49 Auto merge of #17749 - SergeevPavel:extra-space-check, r=jdm
Extra space check

<!-- Please describe your changes on the following line: -->
Add tidy check for keywords with more than one space afterwards.

---
<!-- 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 #17700 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17749)
<!-- Reviewable:end -->
2017-07-19 16:03:51 -07:00
Pavel Sergeev
c225847a81 tidy: add extra space after keyword check 2017-07-20 00:44:59 +03:00
Simon Sapin
8303f5b926 Update to cargo 0.21.0-nightly (eb6cf012a 2017-07-02)
Cargo binaries are now produced on Rust’s CI, not Cargo’s.
Remove cargo-commit-hash and find Cargo based on rust-commit-hash.
2017-07-19 00:56:30 +02:00
Simon Sapin
7d68a5aeaf Revert "Fetch "alt" rust std build when we do so for rustc"
This reverts commit 6b523302e1.

This is unnecessary now that https://github.com/rust-lang/rust/issues/42967
is fixed by https://github.com/rust-lang/rust/pull/43167.

This migth be a fix for https://github.com/servo/servo/pull/17604
2017-07-14 09:41:52 +02:00
Martin Robinson
e58e8ab42e Upgrade to the latest version of WebRender 2017-07-13 07:44:08 +10:00
Imanol Fernandez
48fb715941 Support for Android arm64 compilations 2017-07-05 15:59:50 +02:00
bors-servo
edd82b3c20 Auto merge of #17483 - jyc:fail-properly, r=wafflespeanut
mach: Fail properly if we can't find the path for OSMesa or GLAPI.

Currently we check `if not (osmesa_path and glapi_path)` after using
`path.join`. It seems we actually want to check whether
`find_dep_path_newest` returns something, because if calls to that
function fail, we'll instead get an error from `path.join` about
`NoneType` not having attribute `endswith` (it expects a string), which
preempts this check.

<!-- 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 this is a change to `./mach` (are there tests for that?)

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17483)
<!-- Reviewable:end -->
2017-07-02 14:17:50 -07:00
Simon Sapin
6b523302e1 Fetch "alt" rust std build when we do so for rustc 2017-06-30 15:44:03 +02:00
Jonathan Chan
260c41aeea mach: Fail properly if we can't find the path for OSMesa or GLAPI.
Currently we check `if not (osmesa_path and glapi_path)` after using
`path.join`. It seems we actually want to check whether
`find_dep_path_newest` returns something, because if calls to that
function fail, we'll instead get an error from `path.join` about
`NoneType` not having attribute `endswith` (it expects a string), which
preempts this check.
2017-06-22 14:45:30 -07:00
Austin Hicks
8c82f86230 mach test --all doesn't crash when trying to run tidy. 2017-06-20 10:09:29 -04:00
bors-servo
ffdb27ae33 Auto merge of #16395 - UK992:msvc2017, r=metajack
Bootstrap: Fix cmake version parsing

Fixes https://github.com/servo/servo/issues/16387

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16395)
<!-- Reviewable:end -->
2017-06-16 09:00:43 -07:00
Nicolas Silva
8617320500 Bump euclid to 0.14. 2017-06-14 16:00:59 +02:00
bors-servo
c1ea54d3c4 Auto merge of #17276 - servo:jdm-patch-3, r=mbrubeck
Use new ARM target for nightly upload.

This should fix #17275 after the changes in #17008.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17276)
<!-- Reviewable:end -->
2017-06-12 13:58:59 -07:00
bors-servo
d7dff8e6d1 Auto merge of #17240 - o0Ignition0o:openssl_from_mirror, r=jdm
#17079 : Changed the openssl url and bumped the version.

<!-- Please describe your changes on the following line: -->
Changed the openssl url and bumped the version.
It's a wip because I haven't figured out a relevant way to write a test about it yet.

---
<!-- 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 #17079 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because The mach command will fail if anything goes wrong.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17240)
<!-- Reviewable:end -->
2017-06-12 06:43:56 -07:00
Josh Matthews
e24e9dee1f Use new ARM target for nightly upload. 2017-06-12 08:58:47 -04:00
Jeremy Lempereur
a02c074ba9 Changed the openssl url and bumped the version. Refactored the openssl.sh script to avoid version duplication in the code. 2017-06-12 07:55:03 +02:00
bors-servo
061cb5f48e Auto merge of #16752 - jdm:css-parse-error, r=SimonSapin
Report more informative CSS errors

This requires https://github.com/servo/rust-cssparser/pull/143 for the final commit. There's no better way to split that work up, unfortunately, and it's extremely easy to bitrot. I would appreciate if we could expedite reviewing this work.

This is the work necessary to enable https://bugzilla.mozilla.org/show_bug.cgi?id=1352669. It makes sense to merge it separately because it's so much effort to keep it up to date with the ongoing Stylo work.

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16752)
<!-- Reviewable:end -->
2017-06-09 14:31:48 -07:00
Josh Matthews
27ae1ef2e7 Thread ParseError return values through CSS parsing. 2017-06-09 16:46:25 -04:00
Josh Matthews
2df07c0150 Allow running selectors tests with test-unit. 2017-06-09 16:22:36 -04:00
Alan Jeffrey
1270080538 Count number of braces on a line in . 2017-06-07 14:25:07 -05:00
bors-servo
5c3b9ef3a0 Auto merge of #17161 - servo:jdm-patch-1, r=cbrewster
Set the initial disk image size for mac packages.

Attempting to fix https://github.com/servo/servo/issues/16644 per https://apple.stackexchange.com/questions/156994/yosemite-hdiutil-create-failed-error-5341.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17161)
<!-- Reviewable:end -->
2017-06-05 16:41:10 -07:00
Josh Matthews
e62f98d100 Set the initial disk image size for mac packages.
Various stackoverflow answers suggest that setting an initial size can avoid errors while resizing the disk during the process of creating it.
2017-06-05 17:42:03 -04:00
James Graham
06cdf7bb3b Update mach bootstrap for changes to wpt harness path in gecko
Gecko is now using the wpt harness under the wpt tools directory
rather than a copy in an adjacent directory. Therefore the path to the
requirements files, and the required model paths, have changed.
2017-06-05 08:52:48 +01:00
Imanol Fernandez
04fb628d20 Make armv7-linux-androideabi default target on Android 2017-05-31 22:31:26 +02:00
Aneesh Agrawal
3cf15cc86d Shim subprocess.DEVNULL for Python 2
This was introduced in Python 3.3, so provide our own version.
2017-05-30 19:39:06 -04:00
Aneesh Agrawal
45c499d011 Fix ./mach upload-nightly macbrew 2017-05-30 14:27:27 -04:00
UK992
0e072df8c3 Improve clean-cargo-cache 2017-05-25 20:44:16 +02:00
Anthony Ramine
bb45b667a9 Don't lint commit messages anymore
This lint cannot cope with rollup merges and didn't do its job correctly anyway
2017-05-23 16:05:03 +02:00
bors-servo
9468fae0d4 Auto merge of #16565 - aneeshusa:move-upload-nightly-script-to-python, r=metajack
Convert nightly upload script to Python

Now that MinGW and MSYS have been removed from the Windows builders,
bash is not available to run the previous upload_nightlies.sh script.
Convert the script to Python 2 for cross-platform support.
Additionally, switch to the `boto3` library for easy uploading
without needing to install `s3cmd`,
and move the code into mach for easy `boto3` installation
as the new `./mach upload-nightly` command.

Also, hard-code the paths to the packages instead of using
globs to look for them, as the paths are static.
(The paths used to contain timestamps,
but we now insert timestamps when uploading to S3
to improve reproducibility.)

<!-- 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: -->
- [ ] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #16560 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because Buildbot will test them.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16565)
<!-- Reviewable:end -->
2017-05-22 18:11:19 -05:00