diff options
author | Jonathan Schwender <55576758+jschwe@users.noreply.github.com> | 2024-09-27 08:11:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-27 06:11:57 +0000 |
commit | 78370fa6d082f60cd6fe41a24e98fa52e90dbf1c (patch) | |
tree | cc3067907c18d757d693a6102c71496e2f7e2e41 /python/servo | |
parent | 02953d2fb69413f358210770d10d77efc6d015bd (diff) | |
download | servo-78370fa6d082f60cd6fe41a24e98fa52e90dbf1c.tar.gz servo-78370fa6d082f60cd6fe41a24e98fa52e90dbf1c.zip |
Fix mach run bustage (#33563)
Move `--flavor` to a new "Packaging options" group, so that
we can only apply the flavor option to the commands that support it.
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
Diffstat (limited to 'python/servo')
-rw-r--r-- | python/servo/build_commands.py | 2 | ||||
-rw-r--r-- | python/servo/command_base.py | 18 | ||||
-rw-r--r-- | python/servo/package_commands.py | 6 |
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 |