Implement ./mach check --media-stack

While at it, extract --media-stack flag into command_base.py.
This commit is contained in:
Tuncer Ayaz 2019-11-19 15:10:47 +00:00
parent ba3169e65d
commit d641585679
4 changed files with 26 additions and 10 deletions

View file

@ -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')

View file

@ -792,6 +792,12 @@ install them, let us know by filing a bug!")
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,

View file

@ -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)

View file

@ -238,10 +238,6 @@ class PostBuildCommands(CommandBase):
@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):