aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/servo/build_commands.py2
-rw-r--r--python/servo/command_base.py18
-rw-r--r--python/servo/package_commands.py6
3 files changed, 17 insertions, 9 deletions
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py
index 622f99ad067..1754bfbbe19 100644
--- a/python/servo/build_commands.py
+++ b/python/servo/build_commands.py
@@ -57,7 +57,7 @@ class MachCommands(CommandBase):
help='Print very verbose output')
@CommandArgument('params', nargs='...',
help="Command-line arguments to be passed through to Cargo")
- @CommandBase.common_command_arguments(build_configuration=True, build_type=True)
+ @CommandBase.common_command_arguments(build_configuration=True, build_type=True, package_configuration=True)
def build(self, build_type: BuildType, jobs=None, params=None, no_package=False,
verbose=False, very_verbose=False, with_asan=False, flavor=None, **kwargs):
opts = params or []
diff --git a/python/servo/command_base.py b/python/servo/command_base.py
index 1436aa41379..1dcfe1e8408 100644
--- a/python/servo/command_base.py
+++ b/python/servo/command_base.py
@@ -515,7 +515,11 @@ class CommandBase(object):
return env
@staticmethod
- def common_command_arguments(build_configuration=False, build_type=False, binary_selection=False):
+ def common_command_arguments(build_configuration=False,
+ build_type=False,
+ binary_selection=False,
+ package_configuration=False
+ ):
decorators = []
if build_type or binary_selection:
decorators += [
@@ -532,10 +536,6 @@ class CommandBase(object):
CommandArgument('--profile', group="Build Type",
help='Build with custom Cargo profile'),
CommandArgument('--with-asan', action='store_true', help="Build with AddressSanitizer"),
- CommandArgument(
- '--flavor', default=None, group="Build Type",
- help='Product flavor to be used when packaging with Gradle/Hvigor (android/ohos).'
- ),
]
if build_configuration:
@@ -594,6 +594,14 @@ class CommandBase(object):
help="Enable Servo's `crown` linter tool"
)
]
+ if package_configuration:
+ decorators += [
+ CommandArgumentGroup('Packaging options'),
+ CommandArgument(
+ '--flavor', default=None, group="Packaging options",
+ help='Product flavor to be used when packaging with Gradle/Hvigor (android/ohos).'
+ ),
+ ]
if binary_selection:
decorators += [
diff --git a/python/servo/package_commands.py b/python/servo/package_commands.py
index 6d7e80b58b2..e5e54b10395 100644
--- a/python/servo/package_commands.py
+++ b/python/servo/package_commands.py
@@ -132,7 +132,7 @@ class PackageCommands(CommandBase):
@CommandArgument('--target', '-t',
default=None,
help='Package for given target platform')
- @CommandBase.common_command_arguments(build_configuration=False, build_type=True)
+ @CommandBase.common_command_arguments(build_configuration=False, build_type=True, package_configuration=True)
@CommandBase.allow_target_configuration
def package(self, build_type: BuildType, flavor=None, with_asan=False):
env = self.build_env()
@@ -420,7 +420,7 @@ class PackageCommands(CommandBase):
@CommandArgument('--target', '-t',
default=None,
help='Install the given target platform')
- @CommandBase.common_command_arguments(build_configuration=False, build_type=True)
+ @CommandBase.common_command_arguments(build_configuration=False, build_type=True, package_configuration=True)
@CommandBase.allow_target_configuration
def install(self, build_type: BuildType, emulator=False, usb=False, with_asan=False, flavor=None):
env = self.build_env()
@@ -429,7 +429,7 @@ class PackageCommands(CommandBase):
except BuildNotFound:
print("Servo build not found. Building servo...")
result = Registrar.dispatch(
- "build", context=self.context, build_type=build_type
+ "build", context=self.context, build_type=build_type, flavor=flavor
)
if result:
return result