old_contents: # Copyright lowRISC contributors.
  # Licensed under the Apache License, Version 2.0, see LICENSE for details.
  # SPDX-License-Identifier: Apache-2.0
  
  import logging as log
  import os
  
  from Launcher import Launcher
  from LocalLauncher import LocalLauncher
  from LsfLauncher import LsfLauncher
  
  try:
      from EdaCloudLauncher import EdaCloudLauncher
      EDACLOUD_LAUNCHER_EXISTS = True
  except ImportError:
      EDACLOUD_LAUNCHER_EXISTS = False
  
  # The chosen launcher class.
  _LAUNCHER_CLS = None
  
  
  def set_launcher_type(is_local=False):
      '''Sets the launcher type that will be used to launch the jobs.
  
      The env variable `DVSIM_LAUNCHER` is used to identify what launcher system
      to use. This variable is specific to the user's work site. It is meant to
      be set externally before invoking DVSim. Valid values are [local, lsf,
      edacloud]. If --local arg is supplied then the local launcher takes
      precedence.
      '''
  
      launcher = os.environ.get("DVSIM_LAUNCHER", "local")
      if is_local:
          launcher = "local"
      Launcher.variant = launcher
  
      global _LAUNCHER_CLS
      if launcher == "local":
          _LAUNCHER_CLS = LocalLauncher
  
      elif launcher == "lsf":
          _LAUNCHER_CLS = LsfLauncher
  
      # These custom launchers are site specific. They may not be committed to
      # the open source repo.
      elif launcher == "edacloud" and EDACLOUD_LAUNCHER_EXISTS:
          _LAUNCHER_CLS = EdaCloudLauncher
  
      else:
          log.error("Launcher {} set using DVSIM_LAUNCHER env var does not "
                    "exist. Using local launcher instead.".format(launcher))
          _LAUNCHER_CLS = LocalLauncher
  
  
  def get_launcher_cls():
      '''Returns the chosen launcher class.'''
  
      assert _LAUNCHER_CLS is not None
      return _LAUNCHER_CLS
  
  
  def get_launcher(deploy):
      '''Returns an instance of a launcher.
  
      'deploy' is an instance of the deploy class to with the launcher is paired.
      '''
  
      assert _LAUNCHER_CLS is not None
      return _LAUNCHER_CLS(deploy)
  
new_contents: # Copyright lowRISC contributors.
  # Licensed under the Apache License, Version 2.0, see LICENSE for details.
  # SPDX-License-Identifier: Apache-2.0
  
  import logging as log
  import os
  
  from Launcher import Launcher
  from LocalLauncher import LocalLauncher
  from LsfLauncher import LsfLauncher
  
  try:
      from edacloudlauncher.EdaCloudLauncher import EdaCloudLauncher
      EDACLOUD_LAUNCHER_EXISTS = True
  except ImportError:
      EDACLOUD_LAUNCHER_EXISTS = False
  
  # The chosen launcher class.
  _LAUNCHER_CLS = None
  
  
  def set_launcher_type(is_local=False):
      '''Sets the launcher type that will be used to launch the jobs.
  
      The env variable `DVSIM_LAUNCHER` is used to identify what launcher system
      to use. This variable is specific to the user's work site. It is meant to
      be set externally before invoking DVSim. Valid values are [local, lsf,
      edacloud]. If --local arg is supplied then the local launcher takes
      precedence.
      '''
  
      launcher = os.environ.get("DVSIM_LAUNCHER", "local")
      if is_local:
          launcher = "local"
      Launcher.variant = launcher
  
      global _LAUNCHER_CLS
      if launcher == "local":
          _LAUNCHER_CLS = LocalLauncher
  
      elif launcher == "lsf":
          _LAUNCHER_CLS = LsfLauncher
  
      # These custom launchers are site specific. They may not be committed to
      # the open source repo.
      elif launcher == "edacloud" and EDACLOUD_LAUNCHER_EXISTS:
          _LAUNCHER_CLS = EdaCloudLauncher
  
      else:
          log.error("Launcher {} set using DVSIM_LAUNCHER env var does not "
                    "exist. Using local launcher instead.".format(launcher))
          _LAUNCHER_CLS = LocalLauncher
  
  
  def get_launcher_cls():
      '''Returns the chosen launcher class.'''
  
      assert _LAUNCHER_CLS is not None
      return _LAUNCHER_CLS
  
  
  def get_launcher(deploy):
      '''Returns an instance of a launcher.
  
      'deploy' is an instance of the deploy class to with the launcher is paired.
      '''
  
      assert _LAUNCHER_CLS is not None
      return _LAUNCHER_CLS(deploy)
  
subject: update edacloudlauncher imports