Update platform defaults to return a launcher instead of a string

Signed-off-by: sweeneys <sweeneys@amazon.com>
monroegm-disable-blank-issue-2
sweeneys 4 years ago
parent 64bbc700fa
commit a1edb2c4ac

@ -9,14 +9,15 @@ Main launchers module, provides a facade for creating launchers.
import logging import logging
import ly_test_tools._internal.managers.workspace
import ly_test_tools import ly_test_tools
import ly_test_tools._internal.managers.workspace as workspace_manager
import ly_test_tools.launchers.platforms.base as base_launcher
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
def create_launcher(workspace, launcher_platform=ly_test_tools.HOST_OS_PLATFORM, args=None): def create_launcher(workspace, launcher_platform=ly_test_tools.HOST_OS_PLATFORM, args=None):
# type: (ly_test_tools.managers.workspace.WorkspaceManager, str, List[str]) -> Launcher # type: (workspace_manager.AbstractWorkspaceManager, str, list[str]) -> base_launcher.Launcher
""" """
Create a launcher compatible with the specified workspace, if no specific launcher is found return a generic one. Create a launcher compatible with the specified workspace, if no specific launcher is found return a generic one.
@ -25,12 +26,16 @@ def create_launcher(workspace, launcher_platform=ly_test_tools.HOST_OS_PLATFORM,
:param args: List of arguments to pass to the launcher's 'args' argument during construction :param args: List of arguments to pass to the launcher's 'args' argument during construction
:return: Launcher instance :return: Launcher instance
""" """
launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform, ly_test_tools.HOST_OS_PLATFORM) launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform)
if not launcher_class:
log.warning(f"Using default launcher for '{ly_test_tools.HOST_OS_PLATFORM}' "
f"as no option is available for '{launcher_platform}'")
launcher_class = ly_test_tools.LAUNCHERS.get(ly_test_tools.HOST_OS_PLATFORM)
return launcher_class(workspace, args) return launcher_class(workspace, args)
def create_dedicated_launcher(workspace, launcher_platform=ly_test_tools.HOST_OS_DEDICATED_SERVER, args=None): def create_dedicated_launcher(workspace, launcher_platform=ly_test_tools.HOST_OS_DEDICATED_SERVER, args=None):
# type: (ly_test_tools.managers.workspace.WorkspaceManager, str, List[str]) -> Launcher # type: (workspace_manager.AbstractWorkspaceManager, str, list[str]) -> base_launcher.Launcher
""" """
Create a dedicated launcher compatible with the specified workspace. Dedicated Launcher is only supported on the Create a dedicated launcher compatible with the specified workspace. Dedicated Launcher is only supported on the
Linux and Windows Platform Linux and Windows Platform
@ -41,11 +46,15 @@ def create_dedicated_launcher(workspace, launcher_platform=ly_test_tools.HOST_OS
:return: Launcher instance :return: Launcher instance
""" """
launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform, ly_test_tools.HOST_OS_DEDICATED_SERVER) launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform, ly_test_tools.HOST_OS_DEDICATED_SERVER)
if not launcher_class:
log.warning(f"Using default dedicated launcher for '{ly_test_tools.HOST_OS_PLATFORM}' "
f"as no option is available for '{launcher_platform}'")
launcher_class = ly_test_tools.LAUNCHERS.get(ly_test_tools.HOST_OS_DEDICATED_SERVER)
return launcher_class(workspace, args) return launcher_class(workspace, args)
def create_editor(workspace, launcher_platform=ly_test_tools.HOST_OS_EDITOR, args=None): def create_editor(workspace, launcher_platform=ly_test_tools.HOST_OS_EDITOR, args=None):
# type: (ly_test_tools.managers.workspace.WorkspaceManager, str, List[str]) -> Launcher # type: (workspace_manager.AbstractWorkspaceManager, str, list[str]) -> base_launcher.Launcher
""" """
Create an Editor compatible with the specified workspace. Create an Editor compatible with the specified workspace.
Editor is only officially supported on the Windows Platform. Editor is only officially supported on the Windows Platform.
@ -56,11 +65,15 @@ def create_editor(workspace, launcher_platform=ly_test_tools.HOST_OS_EDITOR, arg
:return: Editor instance :return: Editor instance
""" """
launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform, ly_test_tools.HOST_OS_EDITOR) launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform, ly_test_tools.HOST_OS_EDITOR)
if not launcher_class:
log.warning(f"Using default editor launcher for '{ly_test_tools.HOST_OS_PLATFORM}' "
f"as no option is available for '{launcher_platform}'")
launcher_class = ly_test_tools.LAUNCHERS.get(ly_test_tools.HOST_OS_EDITOR)
return launcher_class(workspace, args) return launcher_class(workspace, args)
def create_generic_launcher(workspace, launcher_platform, exe_file_name, args=None): def create_generic_launcher(workspace, launcher_platform, exe_file_name, args=None):
# type: (ly_test_tools.managers.workspace.WorkspaceManager, str, str, List[str]) -> Launcher # type: (workspace_manager.AbstractWorkspaceManager, str, str, list[str]) -> base_launcher.Launcher
""" """
Create a generic launcher compatible with the specified workspace. Create a generic launcher compatible with the specified workspace.
Allows custom .exe files to serve as the launcher instead of ones listed in the ly_test_tools.LAUNCHERS constant Allows custom .exe files to serve as the launcher instead of ones listed in the ly_test_tools.LAUNCHERS constant
@ -72,4 +85,8 @@ def create_generic_launcher(workspace, launcher_platform, exe_file_name, args=No
:return: Launcher instance. :return: Launcher instance.
""" """
launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform, ly_test_tools.HOST_OS_GENERIC_EXECUTABLE) launcher_class = ly_test_tools.LAUNCHERS.get(launcher_platform, ly_test_tools.HOST_OS_GENERIC_EXECUTABLE)
if not launcher_class:
log.warning(f"Using default generic executable launcher for '{ly_test_tools.HOST_OS_PLATFORM}' "
f"as no option is available for '{launcher_platform}'")
launcher_class = ly_test_tools.LAUNCHERS.get(ly_test_tools.HOST_OS_GENERIC_EXECUTABLE)
return launcher_class(workspace, exe_file_name, args) return launcher_class(workspace, exe_file_name, args)

Loading…
Cancel
Save