code: def require_single_root_target(self):
      
      target_roots = self.context.target_roots
      if len(target_roots) == 0:
        raise TaskError('No target specified.')
      elif len(target_roots) > 1:
        raise TaskError('Multiple targets specified: {}'
                        .format(', '.join([repr(t) for t in target_roots])))
      return target_roots[0]
docs: If a single target was specified on the cmd line, returns that target.
  
      Otherwise throws TaskError.
  
      :API: public