aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/package_commands.py
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2023-05-24 19:40:30 +0200
committerMartin Robinson <mrobinson@igalia.com>2023-05-25 16:58:05 +0200
commitdebc37a7d3269c194a21a592dacf94df9f065b4e (patch)
tree672c8b021c1ebe0bf2d7e2473e3f7c7b49547de7 /python/servo/package_commands.py
parente9a7787a4d7e3a836853fd8b319951f20879fc83 (diff)
downloadservo-debc37a7d3269c194a21a592dacf94df9f065b4e.tar.gz
servo-debc37a7d3269c194a21a592dacf94df9f065b4e.zip
Clean up cross-compilation and features
Integrate cross-compilation and media-stack handling into the `build_like_command_arguments` decorator. This removes a lot of repetition in the code and standardizes how targets are selected for all similar commands. Now cross compilation targets, feature flags, and helper variables are stored in the CommandBase instance. This also avoids having to continuously pass these arguments down to functions called by the commands.
Diffstat (limited to 'python/servo/package_commands.py')
-rw-r--r--python/servo/package_commands.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/python/servo/package_commands.py b/python/servo/package_commands.py
index cfd81e7d647..13ef267f6c2 100644
--- a/python/servo/package_commands.py
+++ b/python/servo/package_commands.py
@@ -147,19 +147,20 @@ class PackageCommands(CommandBase):
action='append',
help='Create an APPX package')
@CommandArgument('--ms-app-store', default=None, action='store_true')
- def package(self, release=False, dev=False, android=None, debug=False,
- debugger=None, target=None, flavor=None, maven=False, uwp=None, ms_app_store=False):
+ def package(self, release=False, dev=False, android=None, target=None,
+ flavor=None, maven=False, uwp=None, ms_app_store=False):
if android is None:
android = self.config["build"]["android"]
if target and android:
print("Please specify either --target or --android.")
sys.exit(1)
if not android:
- android = self.handle_android_target(target)
+ android = self.setup_configuration_for_android_target(target)
else:
target = self.config["android"]["target"]
- env = self.build_env(target=target)
+ self.cross_compile_target = target
+ env = self.build_env()
binary_path = self.get_binary_path(
release, dev, target=target, android=android,
simpleservo=uwp is not None
@@ -423,9 +424,10 @@ class PackageCommands(CommandBase):
print("Please specify either --target or --android.")
sys.exit(1)
if not android:
- android = self.handle_android_target(target)
+ android = self.setup_configuration_for_android_target(target)
+ self.cross_compile_target = target
- env = self.build_env(target=target)
+ env = self.build_env()
try:
binary_path = self.get_binary_path(release, dev, android=android)
except BuildNotFound: