Package sbt.testing

Interface Task


  • public interface Task
    A task to execute.

    The client may decide when or how to execute the task based on its tags. A task can be any job, but is primarily intended for running tests and/or supplying more tasks to the client. A framework can supply more tasks to the client in the returned an array of Tasks (which can be empty if there's no more work to do.)

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      Task[] execute​(EventHandler eventHandler, Logger[] loggers)
      Executes this task, possibly returning to the client new tasks to execute.
      java.lang.String[] tags()
      A possibly zero-length array of string tags associated with this task.
      TaskDef taskDef()
      Returns the TaskDef that was used to request this Task.
    • Method Detail

      • tags

        java.lang.String[] tags()
        A possibly zero-length array of string tags associated with this task.

        A task may be tagged, for example, with a string that indicates it consumes a lot of CPU time. Users can configure the client to only run, say, three such CPU-intensive tasks concurrently.

        Returns:
        a possibly zero-length string array of this task's tags
      • execute

        Task[] execute​(EventHandler eventHandler,
                       Logger[] loggers)
        Executes this task, possibly returning to the client new tasks to execute.
        Parameters:
        eventHandler - an event handler to which to fire events during the run
        loggers - an array of loggers to which to emit log messages during the run
        Returns:
        a possibly empty array of new tasks for the client to execute
      • taskDef

        TaskDef taskDef()
        Returns the TaskDef that was used to request this Task.
        Returns:
        the TaskDef that was used to request this Task.