Commit Graph

579 Commits

Author SHA1 Message Date
Aneesh Agrawal
ea618b9163 servo: Merge #16639 - Avoid searching for old nightlies in missing dirs (from aneeshusa:skip-nonexisting-dirs-when-cleaning-nightlies); r=jdm
These directories may be missing (e.g. a first time build or due to Buildbot cleaning),
so don't try to look inside them for old nightlies if so.

I noticed this in http://build.servo.org/builders/arm32/builds/6815/steps/shell__1/logs/stdio.

<!-- 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
- [ ] These changes fix #__ (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 5c321737c65c1c7f11b9c58d010e07412403167a
2017-04-27 17:18:55 -05:00
Simon Sapin
c629b5ad88 servo: Merge #16579 - Upgrade to rustc 1.18.0-nightly (23de823e9 2017-04-23) (from servo:rustup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 70d7a2be3429196e82c877c5f63cdbf748df6c18
2017-04-24 06:09:25 -05:00
UK992
d39815e219 servo: Merge #16573 - Auto clean old nightlies on Travis (from UK992:travis); r=aneeshusa
This could solve `no space left` problem.

Source-Repo: https://github.com/servo/servo
Source-Revision: cc74b5b36f03dca9bd543885222ed0e6d91fedcd
2017-04-22 19:17:12 -05:00
Nathan Froyd
497fd67fed servo: Merge #16550 - switch gecko_bindings over to the gecko_debug feature [DO NOT MERGE] (from froydnj:gecko-bindings-gecko-debug); r=froydnj
...so that they use the correct Gecko structs regardless of whether Rust
code is being compiled with debug assertions or not.

This is the second part of the Servo-side changes for https://bugzilla.mozilla.org/show_bug.cgi?id=1357556

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

- [X] These changes do not require tests because building is a sufficient test.

Source-Repo: https://github.com/servo/servo
Source-Revision: f795eb1a8b7443ea9dc1cf1c81a6ac0484894659
2017-04-22 18:40:47 -05:00
Josh Matthews
d96201c75d servo: Merge #16528 - Update web-platform-tests (from servo:wpt); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: bb86bb8514ee4d39d048b1a8d7048a6d269d4d97
2017-04-22 18:04:31 -05:00
Imanol Fernandez
7bd74466d2 servo: Merge #15773 - Android life cycle improvements and Gradle integration (from MortimerGoro:android_improvements); r=larsbergstrom,fabricedesre
This PR includes Android life cycle Improvements and Gradle integration for android packaging.

Android life cycle improvements are implemented in both the new [MainActivity](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-f43708b102e98272c2af7454b8846927) and native code in this related PR: https://github.com/servo/glutin/pull/117
- Properly handle the life cycle of the Android Activity: manage EGLContext lost & restore, and animation loop pause/resume when the app goes to background/foreground or orientation changes. In the current upstream Servo crashes when the app goes to background, activity stops or changes orientation
- Handle event loop awake for Servo Animation loop
- Handle screen resize & orientation events
- Implement new keep_screen_on preference which keeps Android device's screen from ever going to sleep: very useful for games or WebVR
- Implement a full screen mode enabled by preference: very useful for games or WebVR
- Implement new shell.native-orientation preference which allows to lock the Activity to a specific orientation
- Automatically sync new android assets to sdcard when the Android version code is changed.  In the current upstream only the existence of the folder is check but resources are not updated

ofscreen_gl_context is updated to fix this: https://github.com/emilio/rust-offscreen-rendering-context/pull/83

This PR integrates Gradle build system for android packaging. Most of the code is implemented in this [build.gradle](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-89cdb9324addb994cdba0a158b209547) . We can get rid of [build-apk](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-40f5a7cf22f94aad059b2c1795347f5e) and manual jar dependency copying in the [package_commands.py](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-0d425b142c8d10ae6ac1f3711fb5c23a). The correct version of gradle is automatically downloaded using the gradlew wrapper.

Some improvements:
- Allows to include more complex android dependencies/SDKs like AARs, manifest auto-merging and more.
- Improved packaging process: The gradle project is always in the same folder, it uses relative paths for everything (assets, native libraries) and outputs the apk into the correct target folder in servo. In the current upstream, ant/python build system copies the manifest, project, resources and jars each time so you end with multiple copies of the same files.
- Improved dependency declaration. We do not have to manually copy jar dependencies in the python script anymore. The gradle build scripts itself is able to search for the dependencies in the correct servo target folder.
- Supports packaging apks with different architectures: armeabi, armeabi-v7a, aarch64. We still need to fix some native servo compilation issues with armeabi-v7a, aarch64 due to dependencies which use `make`. I'll push this changes in a separate PR of the python build files but the gradle file is already ready to handle that.
- We can easily create product flavors for different versions of Servo. For example a default browser, a WebVR browser with additional dependencies or a Servo android Webview component
- Fixes minor.major.52 build error when blurdroid cargo dependency is compiled using java8 (the default in new Linux machines). The gradle build file enables the new Jack compiler which supports Java8 dependencies.
- The project can be opened with Android Studio and run the brand new GPU debugger on any Android phone. I'll add some docs in the Wiki about this.

---
<!-- 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 #14568 (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: 2b5c17c43a517b6d6bd981f5fa905536dddd3beb
2017-04-21 15:52:13 -05:00
coalman
de7526ae83 servo: Merge #16495 - Make tidy check that opening and closing braces that begin a line do … (from coalman:tidy-brace-alignment); r=emilio
…so with proper alignment.

---
<!-- 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 #16486 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 195100f3cac99b979e25157eb437e63bd3262e6f
2017-04-19 03:06:31 -05:00
Aneesh Agrawal
430ed16b98 servo: Merge #16487 - Automatically clean old nightlies (from aneeshusa:automatically-clean-old-nightlies); r=larsbergstrom
<!-- Please describe your changes on the following line: -->

Automatically clean old rustc and cargo nightlies on our builders up to preserve disk space.

---
<!-- 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 #12103 and help with servo/saltfs#321 (github issue number if applicable).

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: a754c10e79ef237b500bbf173eb7ba43529e51eb
2017-04-18 11:00:27 -05:00
Aneesh Agrawal
6742f0f6f7 servo: Merge #16505 - Stop mach bootstrap from segfaulting (from aneeshusa:stop-mach-bootstrap-from-segfaulting); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->

See the commit message for details; the top-level import of Mako causes `./mach bootstrap` to segfault in glibc while exiting, seems to have to do with the native `_speedups.so` library of MarkupSafe, a Mako dependency.

Needed for servo/saltfs#631.
cc @emilio to make sure this is OK for stylo (e.g. #13171)

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because the test is part of servo/saltfs#631

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 7413c716fb954c1dd27c39929e27bd7b4b188720
2017-04-18 06:10:46 -05:00
Aneesh Agrawal
de5a73310e servo: Merge #16490 - Remove windows gnu part 2 (from aneeshusa:remove-windows-gnu-part-2); r=metajack
<!-- Please describe your changes on the following line: -->

This is a follow-up to #16468.

---
<!-- 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 we no longer support MinGW/MSYS

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 485a4de729e196d1baca2ffe01518bbd4b0d1afa
2017-04-16 21:38:05 -05:00
Sadman Kazi
8018bc54f2 servo: Merge #16366 - Check for merge commits with tidy (from sadmansk:check-merge-commits); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
Tidy checks the last merge commit and their author and reports an error if the **last merge commit**'s author is not `bors-servo`.

In case the tidy test is run under Travis (checked by looking at the [value of the `TRAVIS` environment variable](https://docs.travis-ci.com/user/environment-variables/#Default-Environment-Variables), the number of commits looked at from `git log --merges` is two, and the second last merge commit is checked, since, from the [Travis docs](https://docs.travis-ci.com/user/pull-requests/#My-Pull-Request-isn%E2%80%99t-being-built):
> We rely on the merge commit that GitHub transparently creates between the changes in the source branch and the upstream branch the pull request is sent against.

So this is the test that I did:
```
$ git pull upstream master
...
$ git log --merges
commit 8262c109378dfe5452535e77ec6a5eb9f8e82f77
Merge: e2c7e3d1e2 7ba3f1e4f3
Author: Sadman Kazi <sadman@sadmansk.com>
Date:   Wed Apr 12 01:07:30 2017 -0400

    Merge branch 'master' of github.com:servo/servo into check-merge-commits

commit 7ba3f1e4f3064ec3054b2346062758375b8ab117
Merge: 7262270990 90697ab8e6
Author: bors-servo <lbergstrom+bors@mozilla.com>
Date:   Tue Apr 11 22:52:23 2017 -0500

    Auto merge of #16358 - bholley:style_sharing_fixes, r=emilio
...
$ ./mach test-tidy
Checking the config file...
Checking directories for correct file extensions...
:::: no merge commits allowed by authors other than bors-servo
```
Obviously I didn't push the HEAD with the merge commit 😅 , it was just for testing.

---
<!-- 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  #15673

<!-- Either: -->
- [X] These changes do not require tests because I'm not really sure how one would go about automating this test

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

Source-Repo: https://github.com/servo/servo
Source-Revision: ff8e9872ff38327eb269a4d65e4269e5e5d6c9ce
2017-04-13 22:28:50 -05:00
Aneesh Agrawal
9b502f2bcd servo: Merge #16389 - Allow bootstrapping on Debian (from aneeshusa:support-debian-for-mach-bootstrap); r=jdm
<!-- Please describe your changes on the following line: -->

This is needed for servo/saltfs#631, since the Travis builders are detected as `'debian'` for some reason.

---
<!-- 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 the test will be in saltfs

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 2e82d98afff696dfd574087a0806383a6abc4c78
2017-04-12 22:22:33 -05:00
Aneesh Agrawal
a3273f9c10 servo: Merge #16370 - Add env var for local saltfs root during bootstrap (from aneeshusa:enable-using-local-states-for-mach-bootstrap); r=jdm
<!-- Please describe your changes on the following line: -->
This enables using the environment variable `SERVO_SALTFS_ROOT` to use a local copy of the saltfs tree for `./mach bootstrap`. The immediate use case is to add a test for `./mach bootstrap` to saltfs itself, to ensure Salt changes or refactors don't break `./mach bootstrap`.

I tested this locally in an Ubuntu Trusty VM.

---
<!-- 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 the test will be added to saltfs

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

Source-Repo: https://github.com/servo/servo
Source-Revision: eb058e20a91b1646d0ac1176d4084b14b7c02fc2
2017-04-12 12:56:47 -05:00
UK992
f385c1822d servo: Merge #15857 - Add --dry-run argument to mach cargo-update (from UK992:mach-cargo-update); r=Wafflespeanut
This add ability to check which packages are outdated, also detect which updates are minor and which may contain breaking changes.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3cf6e56df99420ea613d41da1cb973a2742055c9
2017-04-12 03:54:41 -05:00
UK992
459e9fa613 servo: Merge #16307 - Add support for Visual Studio 2017 (from UK992:msvc2017); r=larsbergstrom
This adds support for Visual Studio 2017.
Also need update cmake to 3.7.2.

r? @larsbergstrom

Can you please upload [this cmake](https://www.dropbox.com/s/3b2z36jj4gh4qpk/cmake-3.7.2.zip?dl=0) to s3 bucket?

Source-Repo: https://github.com/servo/servo
Source-Revision: 065f50014f321466c979120967da720e88ae2b29
2017-04-11 16:41:02 -05:00
Simon Sapin
0184aeb191 servo: Merge #16276 - Add cargo-geckolib and rustc-geckolib commands to mach (from servo:cargo-geckolib); r=Wafflespeanut
Source-Repo: https://github.com/servo/servo
Source-Revision: b89dc6a08cbce6a84ddf5219e45f2f73de23e0b2
2017-04-05 16:30:19 -05:00
Josh Matthews
8e99669359 servo: Merge #16219 - Fix macOS nightly creation (from servo:jdm-patch-2); r=Wafflespeanut
Our change to keep around build artifacts broke the macOS nightly generation process, since hdiutil can't cope with the dmg file already existing.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #16218
- [X] These changes do not require tests because I tested manually and we build every night

Source-Repo: https://github.com/servo/servo
Source-Revision: 15fc9f3bbfde6060c604e392774e728fb35af190
2017-03-31 23:28:13 -05:00
ddh
f4513cce0d servo: Merge #15868 - Update Hyper and OpenSSL (from servo:hyper); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 82b0d5ad54d94a29f595d59cbb37dcbab5d5a5c8
2017-03-31 11:46:09 -05:00
강동윤
9eaac15877 servo: Merge #16150 - Allow using servo as dependency, by fixing Cargo.toml of servo-test-t… (from kdy1997:master); r=jdm
- [ ] `./mach build -d` does not report any errors
I had hard time trying to compile rust-mozjs on my ubuntu machine, and I gave up. As this pr does not touch any source code, I expect it to be work.

- [x] `./mach test-tidy` does not report any errors

```sh
Checking the config file...
Checking directories for correct file extensions...

tidy reported no errors.
```

- [x] These changes fix #16149 (github issue number if applicable).

- [x] These changes do not require tests because it's trivial.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9eb6bb78b0dc7ab0f79f7dc992764225c8dcac1d
2017-03-27 07:41:36 -07:00
Ravi Shankar
ef080d9209 servo: Merge #16040 - Cleanup tidy (from Wafflespeanut:tidy); r=Manishearth
fixes #16039

Source-Repo: https://github.com/servo/servo
Source-Revision: e8b364793416465f6b4877414623dac2c52f2e6a
2017-03-20 05:28:12 -07:00
Simon Sapin
932417bb08 servo: Merge #15996 - Fix "option Z is unstable" warning on geckolib with incremental=true (from servo:incremental-unstability); r=Manishearth
`incremental = true` can be set in the `[build]` section of `.servobuild` to enable incremental compilation.

In `./mach build-geckolib`, which uses a stable version of the compiler, this would cause a warning repeated for each invocation of rustc:

```
warning: the option `Z` is unstable and should only be used on the nightly
compiler, but it is currently accepted for backwards compatibility;
this will soon change, see issue #31847 for more details
```

This PR disables incremental compilation for `build-geckolib`, regardless of `.servobuild` settings.

<!-- 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
- [ ] 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: 0a0fb61b4838365375b0f7cfc432cce6d475c258
2017-03-16 21:08:45 -07:00
Bobby Holley
966130a4d8 servo: Merge #15953 - Make size_of tests measure stylo and reduce the size of stylo PropertyDeclarations by 16 bytes (from bholley:size_of_stylo); r=Manishearth
Right now they don't, which means that we have four properties making PropertyDeclaration 16 bytes bigger than it should be.

I'm not sure if there's a better way to get these tests to run against stylo than to hoist them into the properties file, but I couldn't figure it out. This seems good enough.

Source-Repo: https://github.com/servo/servo
Source-Revision: f5c67fda04195bd6d8ef10a73b9158eb60dbd6d7
2017-03-15 11:23:24 -07:00
lucantrop
72a4fc3bbf servo: Merge #15927 - added tidiness check for "-> ()" (from lucantrop:master); r=Ms2ger
<!-- Please describe your changes on the following line: -->
I added the check, modified the tests and removed all instances of "-> ()" that were already there.

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

<!-- Either: -->
- [X] There are tests for these 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: a6f89c503671726bcb0407cd84c380f3af4a7916
2017-03-13 10:01:16 -07:00
Matt Brubeck
b86d6cd7f9 servo: Merge #15875 - Fix bug bootstrapping stable rust (from mbrubeck:bootstrap-stable); r=nox
<!-- 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 they touch build infrastructure 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: 2ad2e095719bc489e9902a64fccddffe2c5662d2
2017-03-08 09:46:58 -08:00
UK992
b0df682ada servo: Merge #15230 - Mach bootstrap: Improve and support more platforms (from UK992:mach-bootstrap); r=aneeshusa
<!-- Please describe your changes on the following line: -->
r? @aneeshusa or @Wafflespeanut

---
<!-- 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
- [ ] 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: d8a8e3e42eda3704d8793d398b24f2e37bded4ec
2017-03-04 04:47:13 -08:00
UK992
aca3c80876 servo: Merge #15753 - Fix Cargo.toml in servo_tidy_tests (from UK992:tidy); r=jdm
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #15737

Source-Repo: https://github.com/servo/servo
Source-Revision: 28bd00debc4f64ff4a9973bea0003c3fd6776299
2017-02-27 08:56:30 -08:00
Jefry Lagrange
2bfcf043d6 servo: Merge #15649 - Rewrite the ban-type lint in Python (from zimio:issue-15591-rewrite-ban-type-lint); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
Rewrite the ban-type lint in Python.

Question: Should the old ban-type lint written in rust be deleted?

---
<!-- 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 #15591

<!-- Either: -->
- [ x] There are tests for these 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: 261df34ced0bdcb8126994c8653ac101d1172085
2017-02-26 09:35:12 -08:00
UK992
e1ae92fd1b servo: Merge #15731 - Update servo-tidy to 0.3.0 (from UK992:tidy); r=Wafflespeanut
r? @Wafflespeanut

It's ready to publishing to PyPI.

Source-Repo: https://github.com/servo/servo
Source-Revision: 524ba6a442f3215935f0b80b8b198eef096363bb
2017-02-25 06:41:05 -08:00
vwvww
af78352f0b servo: Merge #15690 - Add 'use statements with extraneous spaces' tidy check (from vwvww:issue_14898); r=Wafflespeanut
Add 'use statements with extraneous spaces' tidy check

I added simple check routine for 'use statements with extraneous
spaces' and codes that breaks the check routine in rust_tidy.rs.

* Added a code that using 'use statements with extraneous spaces' code
  in rust_tidy.rs
* Added assertion code in test_tidy.py.
* check_rust function in tidy.py now recognizes the simple case in
  the 'use statements with extraneous spaces'.
* Ran tidy check on rust code and modified a
  code(tests/unit/style/parsing/inherited_text.rs) that is not passing
  on this new tidy check.

TODO: this code has to be refactored to support more general cases, such as tab or newline.

- [X] `./mach build -d` does not report any errors
- [X] ./mach test-tidy does not report any errors
- [X] These changes fix #14898 (github issue number if applicable).
- [X] These changes do not require tests because ./mach test-tidy itself is the test for the code.

Source-Repo: https://github.com/servo/servo
Source-Revision: b34fdf62341a01abb8da021f07071c5eb8b06622
2017-02-22 21:19:08 -08:00
Huxley
00090352e7 servo: Merge #15665 - fixed an issue related with .DS_Store (from UnICorN21:ds_store); r=SimonSapin
<!-- 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 #15581.

<!-- Either: -->
- [ ] 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: 7adc79047dc1fafef3615cb8fcc8e4a43764f262
2017-02-22 06:12:52 -08:00
Anthony Ramine
0b37b55252 servo: Merge #15670 - Kill the plugins crate and its clippy support (from nox:die-plugins-die); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 14bbe9d8729dece2d80bb651bca1c2eda13d0429
2017-02-21 05:15:15 -08:00
Simon Sapin
8120bda0a1 servo: Merge #15564 - Disable LLVM assertions by default, on supported platforms (from servo:no-gods-no-masters-no-assertions); r=Ms2ger
<!-- Please describe your changes on the following line: -->

https://github.com/servo/servo/pull/15559#issuecomment-280003926

> With an empty incremental compilation cache (or, presumably, with incremental compilation disabled), LLVM assertions add 16% to the compilation time in debug mode, 53% (!) in release mode.

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

<!-- Either: -->
- [ ] 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: 1afae52c47e754c6573f4a8b72fcc2e6994d253f
2017-02-17 02:04:44 -08:00
Anthony Ramine
973933530c servo: Merge #15559 - Allow disabling LLVM assertions in rustc (fixes #15548) (from servo:rustup); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 4f10a0f2e1ae545649957cc7e305c8cb81312759
2017-02-15 06:46:22 -08:00
Simon Sapin
937acf7eb5 servo: Merge #15555 - tidy: Ignore [replace]’d packages in the duplicate package lint (from servo:tidy-ignore-replace); r=nox
<!-- 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
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] 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: cc99d9400aa43673e8ce52c01607c62c1dfd118a
2017-02-14 16:07:10 -08:00
Manish Goregaokar
11331dee6b servo: Merge #14853 - Make tidy work on stylo trees (from Manishearth:stylo-tidy); r=Wafflespeanut
This adds `./mach test-tidy --stylo`, which turns off the usage of git to search for files to check (fixes #14855), and also turns off the wpt lint, making it possible to run tidy in a stylo tree.

r? @jdm @wafflespeanut

cc @bzbarsky

Source-Repo: https://github.com/servo/servo
Source-Revision: 9eaf96b73716450caba5e85b9c5d3622242f2608
2017-02-08 22:21:08 -08:00
Ms2ger
5279401db6 servo: Merge #15405 - Update web-platform-tests and CSS tests (from servo:wpt-20170206); r=jgraham
Source-Repo: https://github.com/servo/servo
Source-Revision: 6fe9fd226903b32cd78fc77c1efad37a2c3c8950
2017-02-07 03:35:06 -08:00
UK992
f35a45f6d3 servo: Merge #15393 - Windows: Instructions update, removed freetype and silent some warning (from UK992:win32); r=metajack
i made some changes to Windows instruction, more unified.
Also removed freetype dependencies on Windows, by forcing to build harfbuzz from source, which is also dependent on freetype.

cc @larsbergstrom @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: e8d677f9c5caed7e8c750fad7b4fb2eae4744c93
2017-02-05 17:33:23 -08:00
Simon Sapin
fe3de3cb19 servo: Merge #15390 - Option configuration to enable incremental compilation (from servo:opt-in-incremental); r=nox
https://internals.rust-lang.org/t/incremental-compilation-beta/4721

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

<!-- Either: -->
- [ ] 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: fc37ba9584eaba37937364db827a7ef30db85035
2017-02-05 06:07:13 -08:00
Gregory Szorc
908ba3c079 servo: Merge #15379 - Find WPT files in Firefox repository (from indygreg:mozilla-central-embedding); r=emilio
The Servo repository is now (mostly) vendored in the Firefox Mercurial
repository. For size and duplication reasons, the tests/wpt directory is
not included in the vendored copy.

This causes problems when running `mach` from the Firefox repository
because `mach` references pip requirements files and module search
paths from WPT.

This commit adds code to detect when Servo's mach is running from a
Firefox source tree and to resolve WPT paths to the Firefox location
if appropriate. This enables `mach` to "just work" when running
from the servo/ directory in the Firefox repository.

The file looked for to identify the Firefox repository is identical
to what Firefox's `mach` script uses.

A potential issue with using Firefox's WPT files is that they may be
different from those in the Servo repository and this could lead to
differences in behavior - possibly even an error when loading/running
`mach`. However, the behavior before this commit was that Servo's
`mach` never worked in the Firefox repository (due to missing WPT
files). And post-commit it does. So this seems like a "perfect is the
enemy of good" scenario.

Source-Repo: https://github.com/servo/servo
Source-Revision: be896648de683c35537bdc38f38f3fc6ce352fa5
2017-02-04 03:23:09 -08:00
Matthias Devlamynck
55bab22732 servo: Merge #15138 - Allow running servo in software rendering mode from ./mach run (from mdevlamynck:software-flag); r=jdm
<!-- Please describe your changes on the following line: -->
This adds a flag to ./mach run to use software rendering on Linux (through the LIBGL_ALWAYS_SOFTWARE env var).

---
<!-- 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 #14982.

<!-- Either: -->
- [X] These changes do not require tests because like said in the issue "There's no way to add automated tests for this".
<!-- 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: bc5004b05ca0a54ddcbe7f308f8df8f61a4d7a99
2017-01-26 14:43:21 -08:00
Josh Matthews
0c2f0cc235 servo: Merge #15181 - Make test-wpt-failure smoketest work again (from jdm:wptfail); r=SimonSapin
Having this testsuite working would have avoided the issue caused by #15064. This will need to wait until after #15164 is merged, because it picks up the failure that currently exists on master.

Source-Repo: https://github.com/servo/servo
Source-Revision: 39b4f19ebb5f9335372d4617cc345707b66eea02
2017-01-24 13:16:50 -08:00
Aneesh Agrawal
1a84479494 servo: Merge #14974 - Use Salt for mach bootstrap (from aneeshusa:add-mach-bootstrap); r=metajack
<!-- Please describe your changes on the following line: -->

This is currently WIP, but allows Salt for `mach bootstrap`. Not looking for review yet, just posting for visibility. You can run `./mach bootstrap` and Salt will run, letting you know what changes it would make for bootstrapping (doesn't actually run yet though).

Currently, this reads from saltfs using gitfs, meaning it always tracks the master branch. (Note that this is blocked on https://github.com/servo/saltfs/pull/577 landing; in the meantime, I've included a small workaround in this PR to pull from my updated saltfs branch, which will need to be removed.) In the future, the relevant Salt code may be merged in tree as part of Docker support for TC, and the bootstrapper should be updated to read from in tree.

Also, our Windows machines have not been Salted, so the existing Windows bootstrappers are retained.

TODO:
- [x] Hook into existing bootstrapping code less hackily
- [x] Actually bootstrap instead of always using `test=True` mode (includes sudo)
- [x] Default to interactive mode (test first, then ask), with a force flag
- [x] Don't require running from the repository root directory
- [x] Make it easy to add support for other distros

---
<!-- 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 should be verified manually

<!-- 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: 1f76aa6ef7ec7db0a0c40223874a72e8f4059deb
2017-01-19 20:58:19 -08:00
UK992
fee61218db servo: Merge #15035 - Tidy: Report invalid listed ignored directories and files (from UK992:tidy-validate-ignore); r=Wafflespeanut
r? @Wafflespeanut

Source-Repo: https://github.com/servo/servo
Source-Revision: f4c6d0009209d83fdb66f8a7348065edf75a22ff
2017-01-19 01:12:06 -08:00
Matthias Devlamynck
783ca7e693 servo: Merge #15023 - Moved tidy's BLOCKED_PACKAGES to the config file (from mdevlamynck:tidy-config); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
Moved tidy.py's BLOCKED_PACKAGES to servo-tidy.toml.

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

<!-- Either: -->
- [X] These changes do not require tests because this is a refactor and the existing tests have been adapted.

<!-- 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: 7eb811b837545c295506c25207c891126b6db0ff
2017-01-14 08:31:30 -08:00
Simon Sapin
2c54ac49aa servo: Merge #15013 - Add config to do desktop notifications by running an abitrary command (from servo:notify-command); r=emilio
<!-- Please describe your changes on the following line: -->

I now have an usual setup where I use a (fast) remote machine for building, and I’m adding a hack to forward end-of-build notifications back to my laptop. This is the motivation for this change, but I kept it general enough that it could be used in other situations.

---
<!-- 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
- [ ] 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: 414e2e907d3bb83de1f4ab4ae1050145cb6eadcb
2017-01-13 11:49:16 -08:00
Manish Goregaokar
95a49bb66c servo: Merge #14932 - Expand ~ in --with-gecko for ./mach build-geckolib (from Manishearth:abspath); r=jdm
Otherwise `~/foo` expands to `/local/folder/~/foo`.

Source-Repo: https://github.com/servo/servo
Source-Revision: ed3f53211ca91a90258c9bc2b8abceddb34e6847
2017-01-09 22:41:10 -08:00
Simon Sapin
58eede8f63 servo: Merge #14789 - Support @supports (from Manishearth:supports); r=SimonSapin
fixes #14786

cc @heycam @upsuper
r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 50bba770d6073bba6e6e219dbc3687087a864a42
2017-01-09 10:54:38 -08:00
Jure Podgoršek
a80a2d44e7 servo: Merge #14896 - Tidy assignments (from g1smo:tidy-assignments); r=jdm
<!-- Please describe your changes on the following line: -->
I've added a new tidy rule (no = in the beginning of line) + tests for it. Also cleaned up a few rust source files to accord with the new rule.

---
<!-- 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 #14890 (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: b6c137b36f8b9f9cc5c0105bb94a4edeaf7d09be
2017-01-07 09:40:46 -08:00
UK992
4443ac0b4b servo: Merge #14877 - Package: Create ZIP on Windows and fix MacOS nightlies (from UK992:mach-package); r=Wafflespeanut
Fix https://github.com/servo/servo/issues/14852

r? @Wafflespeanut

Source-Repo: https://github.com/servo/servo
Source-Revision: 698491b8872d9f364e47b4e249851ad35f552a4b
2017-01-05 21:45:31 -08:00
Alan Jeffrey
8e9816b9d8 servo: Merge #14351 - An in-memory RNG that shares its file descriptor (from asajeffrey:servo-rand-share-fds); r=emilio
<!-- Please describe your changes on the following line: -->

This PR implements an in-memory random number generator that only uses an OS RNG for (re)seeding. The OS RNG is shared, so there's only one file descriptor for `/dev/urandom` being used.

The PR also implements a tidy check that we don't accidentally introduce an RNG. Rather annoyingly, there are a lot of transitive dependencies on `rand`, notably hash maps in `std`.

This PR makes it possible to use uuids for identifiers such as pipeline and frame ids.

---
<!-- 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 do not require tests because it's fixing a resource issue

<!-- 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: 36ddf763f66b1b971db07649ff5c69b2e9fd5f91
2017-01-05 06:32:23 -08:00