diff options
author | Mukilan Thiyagarajan <mukilan@igalia.com> | 2024-09-20 13:50:27 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-20 08:20:27 +0000 |
commit | 157e28c59b34ec8c7334161fda658cbbb1e66a25 (patch) | |
tree | a4f2b9b57f1c3b30333a97fb3831973c110fad99 /python/servo/command_base.py | |
parent | 457d37d94ee6966cad377c373d333a00c637e1ae (diff) | |
download | servo-157e28c59b34ec8c7334161fda658cbbb1e66a25.tar.gz servo-157e28c59b34ec8c7334161fda658cbbb1e66a25.zip |
openharmony: add servoshell for ohos (#33295)
* openharmony: add servoshell for ohos
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* ohos: handle missing signing config on forks
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
---------
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Diffstat (limited to 'python/servo/command_base.py')
-rw-r--r-- | python/servo/command_base.py | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/python/servo/command_base.py b/python/servo/command_base.py index 4359d1c74ca..6513a1b150a 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -297,6 +297,7 @@ class CommandBase(object): self.config.setdefault("build", {}) self.config["build"].setdefault("android", False) + self.config["build"].setdefault("ohos", False) self.config["build"].setdefault("mode", "") self.config["build"].setdefault("debug-assertions", False) self.config["build"].setdefault("debug-mozjs", False) @@ -328,12 +329,6 @@ class CommandBase(object): def get_top_dir(self): return self.context.topdir - def get_apk_path(self, build_type: BuildType): - base_path = util.get_target_dir() - base_path = path.join(base_path, "android", self.target.triple()) - apk_name = "servoapp.apk" - return path.join(base_path, build_type.directory_name(), apk_name) - def get_binary_path(self, build_type: BuildType, asan: bool = False): base_path = util.get_target_dir() if asan or self.target.is_cross_build(): @@ -551,7 +546,12 @@ class CommandBase(object): CommandArgument( '--android', default=None, action='store_true', help='Build for Android. If --target is not specified, this ' - 'will choose a default target architecture.', + f'will choose the default target architecture ({AndroidTarget.DEFAULT_TRIPLE}).', + ), + CommandArgument( + '--ohos', default=None, action='store_true', + help='Build for OpenHarmony. If --target is not specified, this ' + f'will choose a default target architecture ({OpenHarmonyTarget.DEFAULT_TRIPLE}).', ), CommandArgument('--win-arm64', action='store_true', help="Use arm64 Windows target"), CommandArgumentGroup('Feature Selection'), @@ -646,6 +646,7 @@ class CommandBase(object): self.configure_build_target(kwargs, suppress_log=True) kwargs.pop('target', False) kwargs.pop('android', False) + kwargs.pop('ohos', False) return original_function(self, *args, **kwargs) return target_configuration_decorator @@ -686,15 +687,28 @@ class CommandBase(object): return android = kwargs.get('android') or self.config["build"]["android"] + ohos = kwargs.get('ohos') or self.config["build"]["ohos"] target_triple = kwargs.get('target') + if android and ohos: + print("Cannot build both android and ohos targets simultaneously.") + sys.exit(1) + if android and target_triple: print("Please specify either --target or --android.") sys.exit(1) # Set the default Android target if android and not target_triple: - target_triple = "aarch64-linux-android" + target_triple = AndroidTarget.DEFAULT_TRIPLE + + if ohos and target_triple: + print("Please specify either --target or --ohos.") + sys.exit(1) + + # Set the default OpenHarmony target + if ohos and not target_triple: + target_triple = OpenHarmonyTarget.DEFAULT_TRIPLE self.target = BuildTarget.from_triple(target_triple) @@ -705,6 +719,9 @@ class CommandBase(object): def is_android(self): return isinstance(self.target, AndroidTarget) + def is_openharmony(self): + return isinstance(self.target, OpenHarmonyTarget) + def is_media_enabled(self, media_stack: Optional[str]): """Determine whether media is enabled based on the value of the build target platform and the value of the '--media-stack' command-line argument. |