Skip to content

Commit

Permalink
Implement ./mach check --media-stack
Browse files Browse the repository at this point in the history
While at it, extract --media-stack flag into command_base.py.
  • Loading branch information
Tuncer Ayaz committed Nov 21, 2019
1 parent ba3169e commit d641585
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 10 deletions.
4 changes: 0 additions & 4 deletions python/servo/build_commands.py
Expand Up @@ -155,10 +155,6 @@ class MachCommands(CommandBase):
@CommandArgument('--jobs', '-j',
default=None,
help='Number of jobs to run in parallel')
@CommandArgument('--media-stack',
default=None,
choices=["gstreamer", "dummy"],
help='Which media stack to use')
@CommandArgument('--no-package',
action='store_true',
help='For Android, disable packaging into a .apk after building')
Expand Down
6 changes: 6 additions & 0 deletions python/servo/command_base.py
Expand Up @@ -792,6 +792,12 @@ def build_like_command_arguments(decorated_function):
default=None,
help='Cross compile for given target platform',
),
CommandArgument(
'--media-stack',
default=None,
choices=["gstreamer", "dummy"],
help='Which media stack to use',
),
CommandArgument(
'--android',
default=None,
Expand Down
22 changes: 20 additions & 2 deletions python/servo/devenv_commands.py
Expand Up @@ -38,16 +38,34 @@ class MachCommands(CommandBase):
'params', default=None, nargs='...',
help="Command-line arguments to be passed through to cargo check")
@CommandBase.build_like_command_arguments
def check(self, params, **kwargs):
def check(self, params, features=[], media_stack=None, target=None,
android=False, magicleap=False, **kwargs):
if not params:
params = []

features = features or []

target, android = self.pick_target_triple(target, android, magicleap)

# A guess about which platforms should use the gstreamer media stack
if not(media_stack):
if (
not(target) or
("armv7" in target and "android" in target) or
("x86_64" in target)
):
media_stack = "gstreamer"
else:
media_stack = "dummy"

features += ["media-" + media_stack]

self.ensure_bootstrapped()
self.ensure_clobbered()
env = self.build_env()

build_start = time()
status = self.run_cargo_build_like_command("check", params, env=env, **kwargs)
status = self.run_cargo_build_like_command("check", params, env=env, features=features, **kwargs)
elapsed = time() - build_start

notify_build_done(self.config, elapsed, status == 0)
Expand Down
4 changes: 0 additions & 4 deletions python/servo/post_build_commands.py
Expand Up @@ -238,10 +238,6 @@ def rr_replay(self):
@CommandArgument(
'params', nargs='...',
help="Command-line arguments to be passed through to cargo doc")
@CommandArgument('--media-stack',
default=None,
choices=["gstreamer", "dummy"],
help='Which media stack to use')
@CommandBase.build_like_command_arguments
def doc(self, params, features, target=None, android=False, magicleap=False,
media_stack=None, **kwargs):
Expand Down

0 comments on commit d641585

Please sign in to comment.