aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo
diff options
context:
space:
mode:
Diffstat (limited to 'python/servo')
-rw-r--r--python/servo/bootstrap_commands.py15
-rw-r--r--python/servo/build_commands.py43
-rw-r--r--python/servo/command_base.py29
-rw-r--r--python/servo/devenv_commands.py50
-rw-r--r--python/servo/testing_commands.py22
5 files changed, 11 insertions, 148 deletions
diff --git a/python/servo/bootstrap_commands.py b/python/servo/bootstrap_commands.py
index 1d103fe5aca..18653c9d4da 100644
--- a/python/servo/bootstrap_commands.py
+++ b/python/servo/bootstrap_commands.py
@@ -128,18 +128,15 @@ class MachCommands(CommandBase):
help='Keep up to this many most recent nightlies')
def clean_nightlies(self, force=False, keep=None):
default_toolchain = self.default_toolchain()
- geckolib_toolchain = self.geckolib_toolchain()
print("Current Rust version for Servo: {}".format(default_toolchain))
- print("Current Rust version for geckolib: {}".format(geckolib_toolchain))
old_toolchains = []
keep = int(keep)
- for toolchain_file in ['rust-toolchain', 'geckolib-rust-toolchain']:
- stdout = subprocess.check_output(['git', 'log', '--format=%H', toolchain_file])
- for i, commit_hash in enumerate(stdout.split(), 1):
- if i > keep:
- toolchain = subprocess.check_output(
- ['git', 'show', '%s:%s' % (commit_hash, toolchain_file)])
- old_toolchains.append(toolchain.strip())
+ stdout = subprocess.check_output(['git', 'log', '--format=%H', 'rust-toolchain'])
+ for i, commit_hash in enumerate(stdout.split(), 1):
+ if i > keep:
+ toolchain = subprocess.check_output(
+ ['git', 'show', '%s:rust-toolchain' % commit_hash])
+ old_toolchains.append(toolchain.strip())
removing_anything = False
stdout = subprocess.check_output(['rustup', 'toolchain', 'list'])
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py
index f1ed3f885fa..1977cf78d4a 100644
--- a/python/servo/build_commands.py
+++ b/python/servo/build_commands.py
@@ -386,49 +386,6 @@ class MachCommands(CommandBase):
print("Build %s in %s" % ("Completed" if status == 0 else "FAILED", format_duration(elapsed)))
return status
- @Command('build-geckolib',
- description='Build a static library of components used by Gecko',
- category='build')
- @CommandArgument('--jobs', '-j',
- default=None,
- help='Number of jobs to run in parallel')
- @CommandArgument('--verbose', '-v',
- action='store_true',
- help='Print verbose output')
- @CommandArgument('--release', '-r',
- action='store_true',
- help='Build in release mode')
- def build_geckolib(self, jobs=None, verbose=False, release=False):
- self.set_use_geckolib_toolchain()
- self.ensure_bootstrapped()
- self.ensure_clobbered()
-
- env = self.build_env(is_build=True, geckolib=True)
-
- ret = None
- opts = ["-p", "geckoservo"]
- features = []
-
- if jobs is not None:
- opts += ["-j", jobs]
- if verbose:
- opts += ["-v"]
- if release:
- opts += ["--release"]
- if features:
- opts += ["--features", ' '.join(features)]
-
- build_start = time()
- ret = self.call_rustup_run(["cargo", "build"] + opts, env=env, verbose=verbose)
- elapsed = time() - build_start
-
- # Generate Desktop Notification if elapsed-time > some threshold value
- notify_build_done(self.config, elapsed)
-
- print("GeckoLib build completed in %s" % format_duration(elapsed))
-
- return ret
-
@Command('clean',
description='Clean the build directory.',
category='build')
diff --git a/python/servo/command_base.py b/python/servo/command_base.py
index a200fa05f24..32870474666 100644
--- a/python/servo/command_base.py
+++ b/python/servo/command_base.py
@@ -285,27 +285,10 @@ class CommandBase(object):
# Set default android target
self.handle_android_target("armv7-linux-androideabi")
- self.set_use_geckolib_toolchain(False)
-
- _use_geckolib_toolchain = False
- _geckolib_toolchain = None
_default_toolchain = None
- def set_use_geckolib_toolchain(self, use_geckolib_toolchain=True):
- self._use_geckolib_toolchain = use_geckolib_toolchain
-
def toolchain(self):
- if self._use_geckolib_toolchain:
- return self.geckolib_toolchain()
- else:
- return self.default_toolchain()
-
- def geckolib_toolchain(self):
- if self._geckolib_toolchain is None:
- filename = path.join(self.context.topdir, "geckolib-rust-toolchain")
- with open(filename) as f:
- self._geckolib_toolchain = f.read().strip()
- return self._geckolib_toolchain
+ return self.default_toolchain()
def default_toolchain(self):
if self._default_toolchain is None:
@@ -474,7 +457,7 @@ class CommandBase(object):
bin_folder = path.join(destination_folder, "PFiles", "Mozilla research", "Servo Tech Demo")
return path.join(bin_folder, "servo{}".format(BIN_SUFFIX))
- def build_env(self, hosts_file_path=None, target=None, is_build=False, geckolib=False, test_unit=False):
+ def build_env(self, hosts_file_path=None, target=None, is_build=False, test_unit=False):
"""Return an extended environment dictionary."""
env = os.environ.copy()
if sys.platform == "win32" and type(env['PATH']) == unicode:
@@ -593,10 +576,7 @@ class CommandBase(object):
env['GIT_INFO'] = '-'.join(git_info)
- if geckolib:
- geckolib_build_path = path.join(self.context.topdir, "target", "geckolib").encode("UTF-8")
- env["CARGO_TARGET_DIR"] = geckolib_build_path
- elif self.config["build"]["thinlto"]:
+ if self.config["build"]["thinlto"]:
env['RUSTFLAGS'] += " -Z thinlto"
return env
@@ -607,9 +587,6 @@ class CommandBase(object):
def servo_manifest(self):
return path.join(self.context.topdir, "ports", "servo", "Cargo.toml")
- def geckolib_manifest(self):
- return path.join(self.context.topdir, "ports", "geckolib", "Cargo.toml")
-
def servo_features(self):
"""Return a list of optional features to enable for the Servo crate"""
features = []
diff --git a/python/servo/devenv_commands.py b/python/servo/devenv_commands.py
index dadf399479a..c6a3f8527ba 100644
--- a/python/servo/devenv_commands.py
+++ b/python/servo/devenv_commands.py
@@ -28,29 +28,17 @@ from servo.util import STATIC_RUST_LANG_ORG_DIST, URLOPEN_KWARGS
@CommandProvider
class MachCommands(CommandBase):
- def run_cargo(self, params, geckolib=False, check=False):
+ def run_cargo(self, params, check=False):
if not params:
params = []
self.ensure_bootstrapped()
self.ensure_clobbered()
- env = self.build_env(geckolib=geckolib)
+ env = self.build_env()
if check:
params = ['check'] + params
- if geckolib:
- # for c in $(cargo --list | tail -$(($(cargo --list | wc -l) - 1))); do
- # (cargo help $c 2>&1 | grep "\\--package" >/dev/null 2>&1) && echo $c
- # done
- if params and params[0] in [
- 'bench', 'build', 'check', 'clean', 'doc', 'fmt', 'pkgid',
- 'run', 'rustc', 'rustdoc', 'test', 'update',
- ]:
- params[1:1] = ['--package', 'geckoservo']
-
- self.set_use_geckolib_toolchain()
-
build_start = time()
status = self.call_rustup_run(["cargo"] + params, env=env)
elapsed = time() - build_start
@@ -71,15 +59,6 @@ class MachCommands(CommandBase):
def cargo(self, params):
return self.run_cargo(params)
- @Command('cargo-geckolib',
- description='Run Cargo with the same compiler version and root crate as build-geckolib',
- category='devenv')
- @CommandArgument(
- 'params', default=None, nargs='...',
- help="Command-line arguments to be passed through to Cargo")
- def cargo_geckolib(self, params):
- return self.run_cargo(params, geckolib=True)
-
@Command('check',
description='Run "cargo check"',
category='devenv')
@@ -89,15 +68,6 @@ class MachCommands(CommandBase):
def check(self, params):
return self.run_cargo(params, check=True)
- @Command('check-geckolib',
- description='Run "cargo check" with the same compiler version and root crate as build-geckolib',
- category='devenv')
- @CommandArgument(
- '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)
-
@Command('cargo-update',
description='Same as update-cargo',
category='devenv')
@@ -212,22 +182,6 @@ class MachCommands(CommandBase):
self.ensure_bootstrapped()
return self.call_rustup_run(["rustc"] + params, env=self.build_env())
- @Command('rustc-geckolib',
- description='Run the Rust compiler with the same compiler version and root crate as build-geckolib',
- category='devenv')
- @CommandArgument(
- 'params', default=None, nargs='...',
- help="Command-line arguments to be passed through to rustc")
- def rustc_geckolib(self, params):
- if params is None:
- params = []
-
- self.set_use_geckolib_toolchain()
- self.ensure_bootstrapped()
- env = self.build_env(geckolib=True)
-
- return self.call_rustup_run(["rustc"] + params, env=env)
-
@Command('grep',
description='`git grep` for selected directories.',
category='devenv')
diff --git a/python/servo/testing_commands.py b/python/servo/testing_commands.py
index cac5531d8f4..e8e6d997ffd 100644
--- a/python/servo/testing_commands.py
+++ b/python/servo/testing_commands.py
@@ -295,28 +295,6 @@ class MachCommands(CommandBase):
if err is not 0:
return err
- @Command('test-stylo',
- description='Run stylo unit tests',
- category='testing')
- @CommandArgument('test_name', nargs=argparse.REMAINDER,
- help="Only run tests that match this pattern or file path")
- @CommandArgument('--release', default=False, action="store_true",
- help="Run with a release build of servo")
- def test_stylo(self, release=False, test_name=None):
- self.set_use_geckolib_toolchain()
- self.ensure_bootstrapped()
-
- env = self.build_env()
- env["RUST_BACKTRACE"] = "1"
- env["CARGO_TARGET_DIR"] = path.join(self.context.topdir, "target", "geckolib").encode("UTF-8")
-
- args = (
- ["cargo", "test", "--manifest-path", self.geckolib_manifest(), "-p", "stylo_tests"] +
- (["--release"] if release else []) +
- (test_name or [])
- )
- return self.call_rustup_run(args, env=env)
-
@Command('test-content',
description='Run the content tests',
category='testing')