| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There were some issues with the way that the `--release` and `--dev`
arguments were handled in mach commands.
- Not all commands accepted them in the same way. For instance `./mach
test-wpt` didn't really accept them at all.
- If you did not pass either of them, mach would try to guess which
build you meant. This guess was often quite surprising as it wasn't
printed and it depended on the state of the your target directory,
which is difficult to remember.
- The `dev` profile is colloquially called a "debug" profile and some
commands accepted `-d` or `--debug...` like arguments, but `--debug`
with `./mach run` meant run in a debugger. It was easy to mix this
up.
This change:
- Centralizes where build type argument processing happens. Now it the
same shared decorator in CommandBase.
- Uses a `BuildType` enum instead of passing around two different
booleans. This reduces the error checking for situations where both
are true.
- Be much less clever about guessing what build to use. Now if you
don't specify a build type, `--dev` is chosen. I think this behavior
matches cargo.
- Makes it so that `./mach test-wpt` accepts the exact same arguments
and has the same behavior as other commands. In addition, the suite
correct for `test-wpt` is removed. There are only two suites now and
it's quite unlikely that people will confuse WPT tests for rust unit
tests.
|
|
|
|
|
|
|
| |
* Add wpt-mac builds
* Fix wpt reporting check run tag
* There can only be five concurrent mac runners
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change makes rustup a requirement for building Servo with `./mach`
and switches to the newer `rust-toolchain.toml` format. The goal here is
to make mach builds more similar to non-mach builds.
- The new format allows listing the required components, removing some of
the complexity from our mach scripts.
- This means we must raise the required version of rustup to 1.23. The
current version is 1.26.
- We no longer wrap every call to cargo and rustc in "rustup run" calls
as both cargo and rustc will take care of installing and using all
necessary components specified in `rust-toolchain.toml` when run
inside the project directory.
|
|
|
|
|
| |
This code was written to handle both Python 2 (which we no longer
support) and old Windows CI machines that did not have up-to-date CA
stores. I think we can remove this now.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Integrate cross-compilation and media-stack handling into the
`build_like_command_arguments` decorator. This removes a lot of
repetition in the code and standardizes how targets are selected for all
similar commands.
Now cross compilation targets, feature flags, and helper variables are
stored in the CommandBase instance. This also avoids having to
continuously pass these arguments down to functions called by the
commands.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change makes it so that the Platform classes can now handle
installing GStreamer dependencies and properly setting up the
environment including when cross-compiling. For Windows and Linux
is now installed into `target/dependencies/gstreamer` when not installed
system-wide. In addition:
1. Creating and moving existing environment path append helpers to
`util.py`.
2. Combining the `set_run_env` and `build_dev` functions and moving
some outside code into them so that it can be shared. Now code that
used to call `set_run_env` calls `build_dev` and then
`os.environ.update(...)`.
3. Adding Python typing information in many places.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
This change removes:
- The custom `--dry-run` support for `cargo-update`. The real cargo
command now has `--dry-run` support and this code was broken for
Python 3.
- The Python 2 version of TemporaryDirectory. This is no longer needed
as we require Python 3.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use notify-py to send notifications
- Use notify-py to send notifications, but use a custom notifier on
Linux since transient (ie non-sticky) notifications are not supported.
- Add an icon to the notification.
- Don't send a notification after doing `./mach check` because that
can trigger notifications when `rust-analyzer` is working.
---
<!-- 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 they just change build notifications.
<!-- 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. -->
|
| |
| |
| |
| |
| |
| |
| |
| | |
- Use notify-py to send notifications, but use a custom notifier on
Linux since transient (ie non-sticky) notifications are not supported.
- Add an icon to the notification.
- Don't send a notification after doing `./mach check` because that
can trigger notifications when `rust-analyzer` is working.
|
|/
|
|
|
|
| |
Also organize some of the imports. Now that Servo only uses Python 3,
this module is unnecessary. This is part of the gradual migration to
using only Python 3.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
While at it, extract --media-stack flag into command_base.py.
|
| |
|
| |
|
|
|
|
| |
Fixes #23659
|
|
|
|
|
|
| |
Not all cargo subcommands take `--manifest-path`.
Use plain `cargo` instead (rustup reads the `rust-toolchain` file)
or consider adding new mach sub-commands.
|
|
|
|
| |
Fixes #22590
|
|
|
|
|
| |
Add ./mach fmt command.
Mach installs rustfmt if needed.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Only build ports/servo by default (except Android), add `./mach build --libsimpleservo`
Fixes #21314
<!-- 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/21809)
<!-- Reviewable:end -->
|
| | |
|
| |
| |
| |
| |
| |
| | |
--libsimpleservo`
Fixes #21314
|
|/ |
|
| |
|
| |
|
|\ |
|
| | |
|
|/ |
|
| |
|
|
|
|
| |
Fixes #11361, closes #18874
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
… and 'cargo test', etc. Include Servo and its unit tests,
but not Stylo because that would try to compile the style
crate with incompatible feature flags:
https://github.com/rust-lang/cargo/issues/4463
`workspace.default-members` was added in
https://github.com/rust-lang/cargo/pull/4743.
Older Cargo versions ignore it.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
… to hopefully fix https://travis-ci.org/servo/servo-with-rust-nightly/ builds.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
… 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.
|
|
|
|
| |
https://travis-ci.org/servo/servo-with-rust-nightly/builds/255611949#L989
|
|
|
|
|
| |
Cargo binaries are now produced on Rust’s CI, not Cargo’s.
Remove cargo-commit-hash and find Cargo based on rust-commit-hash.
|
| |
|