Auto merge of #19476 - servo:default-members, r=nox

Use workspace.default-members to specify default crates for cargo build

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

<!-- 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/19476)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-12-07 06:53:07 -06:00 committed by GitHub
commit df68eea3f2
24 changed files with 52 additions and 71 deletions

15
Cargo.lock generated
View file

@ -1050,7 +1050,6 @@ dependencies = [
"smallvec 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
"style 0.0.1",
"style_traits 0.0.1",
"stylo_tests 0.0.1",
]
[[package]]
@ -2807,24 +2806,10 @@ dependencies = [
"android_injected_glue 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
"backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"browserhtml 0.1.17 (git+https://github.com/browserhtml/browserhtml?branch=crate)",
"deny_public_fields_tests 0.0.1",
"gfx_tests 0.0.1",
"glutin_app 0.0.1",
"layout_tests 0.0.1",
"libservo 0.0.1",
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
"malloc_size_of_tests 0.0.1",
"metrics_tests 0.0.1",
"msg_tests 0.0.1",
"net_tests 0.0.1",
"net_traits_tests 0.0.1",
"profile_tests 0.0.1",
"script_plugins_tests 0.0.1",
"script_tests 0.0.1",
"servo_config_tests 0.0.1",
"servo_remutex_tests 0.0.1",
"sig 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"style_tests 0.0.1",
]
[[package]]

View file

@ -1,8 +1,16 @@
[workspace]
members = [
"ports/cef",
"ports/geckolib",
"ports/servo",
"tests/unit/*",
"ports/geckolib",
"ports/geckolib/tests",
"ports/cef",
]
default-members = [
"ports/servo",
"tests/unit/*",
]
exclude = [".cargo"]

View file

@ -19,5 +19,9 @@ pub fn dom_struct(args: TokenStream, input: TokenStream) -> TokenStream {
#[must_root]
#[repr(C)]
};
// Work around https://github.com/rust-lang/rust/issues/46489
let attributes = attributes.to_string().parse().unwrap();
iter::once(attributes).chain(iter::once(input)).collect()
}

View file

@ -31,6 +31,3 @@ servo_arc = {path = "../../components/servo_arc"}
smallvec = "0.6"
style = {path = "../../components/style", features = ["gecko"]}
style_traits = {path = "../../components/style_traits"}
[dev-dependencies]
stylo_tests = {path = "../../tests/unit/stylo"}

View file

@ -13,22 +13,6 @@ path = "main.rs"
test = false
bench = false
[dev-dependencies]
deny_public_fields_tests = {path = "../../tests/unit/deny_public_fields"}
gfx_tests = {path = "../../tests/unit/gfx"}
layout_tests = {path = "../../tests/unit/layout"}
malloc_size_of_tests = {path = "../../tests/unit/malloc_size_of"}
metrics_tests = {path = "../../tests/unit/metrics"}
msg_tests = {path = "../../tests/unit/msg"}
net_tests = {path = "../../tests/unit/net"}
net_traits_tests = {path = "../../tests/unit/net_traits"}
profile_tests = {path = "../../tests/unit/profile"}
script_tests = {path = "../../tests/unit/script"}
script_plugins_tests = {path = "../../tests/unit/script_plugins"}
servo_config_tests = {path = "../../tests/unit/servo_config"}
servo_remutex_tests = {path = "../../tests/unit/servo_remutex"}
style_tests = {path = "../../tests/unit/style"}
[features]
default = ["unstable", "default-except-unstable"]
default-except-unstable = ["webdriver", "max_log_level"]
@ -38,7 +22,7 @@ energy-profiling = ["libservo/energy-profiling"]
debugmozjs = ["libservo/debugmozjs"]
googlevr = ["libservo/googlevr"]
oculusvr = ["libservo/oculusvr"]
unstable = ["libservo/unstable", "profile_tests/unstable"]
unstable = ["libservo/unstable"]
[dependencies]
backtrace = "0.3"

View file

@ -402,8 +402,7 @@ class MachCommands(CommandBase):
self.ensure_clobbered()
ret = None
opts = []
opts += ["--manifest-path", self.cef_manifest()]
opts = ["-p", "embedding"]
if jobs is not None:
opts += ["-j", jobs]
@ -458,8 +457,7 @@ class MachCommands(CommandBase):
env = self.build_env(is_build=True, geckolib=True)
ret = None
opts = []
opts += ["--manifest-path", self.geckolib_manifest()]
opts = ["-p", "geckoservo"]
features = []
if jobs is not None:

View file

@ -94,7 +94,7 @@ class MachCommands(CommandBase):
'params', default=None, nargs='...',
help="Command-line arguments to be passed through to cargo check")
def check_geckolib(self, params):
return self.run_cargo(params, check=True, geckolib=True)
return self.run_cargo(["-p", "geckoservo"] + (params or []), check=True, geckolib=True)
@Command('cargo-update',
description='Same as update-cargo',

View file

@ -254,6 +254,9 @@ class MachCommands(CommandBase):
env = self.build_env()
env["RUST_BACKTRACE"] = "1"
# Work around https://github.com/rust-lang/cargo/issues/4790
del env["RUSTDOCFLAGS"]
if "msvc" in host_triple():
# on MSVC, we need some DLLs in the path. They were copied
# in to the servo.exe build dir, so just point PATH to that.

View file

@ -1 +1 @@
nightly-2017-11-14
nightly-2017-12-07

View file

@ -2,6 +2,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#![cfg(test)]
extern crate gfx;
#[cfg(test)] mod text_util;
mod text_util;

View file

@ -2,7 +2,6 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
extern crate layout;
#[macro_use] extern crate size_of_test;
#[cfg(all(test, target_pointer_width = "64"))] extern crate layout;
#[cfg(all(test, target_pointer_width = "64"))] #[macro_use] extern crate size_of_test;
#[cfg(all(test, target_pointer_width = "64"))] mod size_of;

View file

@ -2,6 +2,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#![cfg(test)]
extern crate euclid;
extern crate gfx;
extern crate gfx_traits;
@ -13,7 +15,5 @@ extern crate profile_traits;
extern crate style;
extern crate time;
#[cfg(test)]
mod interactive_time;
#[cfg(test)]
mod paint_time;

View file

@ -2,7 +2,6 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
extern crate msg;
#[macro_use] extern crate size_of_test;
#[cfg(all(test, target_pointer_width = "64"))] extern crate msg;
#[cfg(all(test, target_pointer_width = "64"))] #[macro_use] extern crate size_of_test;
#[cfg(all(test, target_pointer_width = "64"))] mod size_of;

View file

@ -2,6 +2,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#![cfg(test)]
extern crate cookie as cookie_rs;
extern crate devtools_traits;
extern crate flate2;
@ -19,18 +21,18 @@ extern crate time;
extern crate unicase;
extern crate url;
#[cfg(test)] mod chrome_loader;
#[cfg(test)] mod cookie;
#[cfg(test)] mod cookie_http_state;
#[cfg(test)] mod data_loader;
#[cfg(test)] mod file_loader;
#[cfg(test)] mod fetch;
#[cfg(test)] mod mime_classifier;
#[cfg(test)] mod resource_thread;
#[cfg(test)] mod hsts;
#[cfg(test)] mod http_loader;
#[cfg(test)] mod filemanager_thread;
#[cfg(test)] mod subresource_integrity;
mod chrome_loader;
mod cookie;
mod cookie_http_state;
mod data_loader;
mod fetch;
mod file_loader;
mod filemanager_thread;
mod hsts;
mod http_loader;
mod mime_classifier;
mod resource_thread;
mod subresource_integrity;
use devtools_traits::DevtoolsControlMsg;
use hyper::server::{Handler, Listening, Server};

View file

@ -2,10 +2,12 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#![cfg(test)]
extern crate net_traits;
#[cfg(test)] mod image;
#[cfg(test)] mod pub_domains;
mod image;
mod pub_domains;
#[test]
fn test_trim_http_whitespace() {

View file

@ -9,9 +9,6 @@ name = "profile_tests"
path = "lib.rs"
doctest = false
[features]
unstable = ["servo_allocator/unstable"]
[dependencies]
ipc-channel = "0.9"
profile = {path = "../../../components/profile"}

View file

@ -2,10 +2,11 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#![cfg(test)]
extern crate ipc_channel;
extern crate profile;
extern crate profile_traits;
extern crate servo_allocator;
#[cfg(test)]
mod time;

View file

@ -32,7 +32,7 @@ mod parsing;
mod properties;
mod rule_tree;
mod size_of;
#[path = "../stylo/specified_values.rs"]
#[path = "../../../ports/geckolib/tests/specified_values.rs"]
mod specified_values;
mod str;
mod stylesheets;