code: def _build_function(self, function_name, codeuri, runtime):
          
  
          # Create the arguments to pass to the builder
          # Code is always relative to the given base directory.
          code_dir = str(pathlib.Path(self._base_dir, codeuri).resolve())
  
          config = get_workflow_config(runtime, code_dir, self._base_dir)
  
          # artifacts directory will be created by the builder
          artifacts_dir = str(pathlib.Path(self._build_dir, function_name))
  
          with osutils.mkdir_temp() as scratch_dir:
              manifest_path = self._manifest_path_override or os.path.join(code_dir, config.manifest_name)
  
              # By default prefer to build in-process for speed
              build_method = self._build_function_in_process
              if self._container_manager:
                  build_method = self._build_function_on_container
  
              return build_method(config,
                                  code_dir,
                                  artifacts_dir,
                                  scratch_dir,
                                  manifest_path,
                                  runtime)
docs: Given the function information, this method will build the Lambda function. Depending on the configuration
          it will either build the function in process or by spinning up a Docker container.
  
          Parameters
          ----------
          function_name : str
              Name or LogicalId of the function
  
          codeuri : str
              Path to where the code lives
  
          runtime : str
              AWS Lambda function runtime
  
          Returns
          -------
          str
              Path to the location where built artifacts are available