Abstract method that must be implemented by child classes to return a list or similar traversable list of command line elements (command name and arguments) that form the command line to be run.
Abstract method that must be implemented by child classes to return a list or similar traversable list of command line elements (command name and arguments) that form the command line to be run. Individual values will be converted to Strings before being used by calling toString.
Given a non-null ResourceSet representing the available resources at this moment in time return either a ResourceSet that is a subset of the available resources in which the task can run, or None if the task cannot run in the available resources.
Given a non-null ResourceSet representing the available resources at this moment in time return either a ResourceSet that is a subset of the available resources in which the task can run, or None if the task cannot run in the available resources.
The system resources available to the task
Either a ResourceSet of the desired subset of resources to run with, or None
Removes this as a dependency for other
Removes this as a dependency for other
Returns an object that can be used to manage dependencies that apply to this and the other Dependable.
Returns an object that can be used to manage dependencies that apply to this and the other Dependable.
Returns an object that can be used to manage dependencies that apply to this and the other Dependable.
Returns an object that can be used to manage dependencies that apply to this and the other Dependable.
Optionally creates a dependency between this dependable and another dependable if one is provided.
Optionally creates a dependency between this dependable and another dependable if one is provided.
Creates a dependency on this dependable, for the provided Task.
Creates a dependency on this dependable, for the provided Task.
Terminate a pipe chain by writing the output to a file.
Writes the standard error stream to the given path.
Terminates a pipe chain by appending the output to a file.
Appends the standard error stream to the given path.
Must be implemented to handle the addition of a dependent.
Must be implemented to handle the addition of a dependent.
Must be implemented to return all tasks represented by the Dependable.
Must be implemented to return all tasks represented by the Dependable.
Called by the Scheduler immediately prior to scheduling to allow tasks to perform any necessary last-minute configuration with the knowledge of the exact set of resources they are to be run with.
Called by the Scheduler immediately prior to scheduling to allow tasks to perform any necessary last-minute configuration with the knowledge of the exact set of resources they are to be run with.
the set of resources that the task will be run with
Discards the standard error stream.
Get the list of tasks to execute.
Get the list of tasks to execute.
For UnitTask and any class that extends it, if the task wishes to be directly executed, the list should be of size one, and equal to itself. If no resources have been specified, both memory and cores default to the given resources.
the list of tasks of to run.
Must be implemented to return all tasks on which new predecessor dependencies should be added.
Must be implemented to return all tasks on which new predecessor dependencies should be added.
The name of the task.
The name of the task.
Finalize anything after the task has been run.
Finalize anything after the task has been run.
This method should be called after a task has been run. The intended use of this method is to allow for any modification of this task prior to any dependent tasks being run. This would allow any parameters that were passed to dependent tasks as call-by-name to be finalized here. For example, we could have passed an Option[String] that is None until make it Some(String) in this method. Then when the dependent task's getTasks method is called, it can call 'get' on the option and get something.
the exit code of the task, which could also be 1 due to the system terminating this process
true if we c
Removes a dependency by removing the supplied task from the list of dependencies for this task and removing this from the list of tasks depending on "task".
Removes a dependency by removing the supplied task from the list of dependencies for this task and removing this from the list of tasks depending on "task".
a task on which this task depends
true if a dependency existed and was removed, false otherwise
Must be implemented to return all tasks on which new successor dependencies should be added.
Must be implemented to return all tasks on which new successor dependencies should be added.
Gets the sequence of tasks that this task depends on..
Gets the sequence of tasks that depend on this task.
the string representation of this task.
Sets the name of this task.
Sets the name of this task.
Generates or extends a pipe chain by connecting this task to the next task via a pipeline.
Generates or extends a pipe chain by connecting this task to the next task via a pipeline.
the type of input expected by the next task. Must be the same or a supertype of this pipe's output.
the type of output of the next task, which becomes the output type of the returned pipe chain.
a Pipe enabled task that should receive this pipe's output as its input.
a new Pipe object that is the result of connecting the two pipes.
Trait for tasks that would like to be able to pipe data using stdin and stdout. Tasks are still responsible for managing their input and output - so if tasks can also read and write from files, they must have the input set to
Io.Stdin
and/or output toIo.Stdout
before connecting them with pipes.See also the traits PipeIn and PipeOut which provide a simplified way to implement a piping task that only receives on or only emits to a pipe.
a symbolic type representing the kind of data the task can accept
a symbolic type representing the kind of data the task emits