Skip to content

Latest commit

 

History

History
60 lines (49 loc) · 15.4 KB

File metadata and controls

60 lines (49 loc) · 15.4 KB

subkt / myaa.subkt.tasks / SubTask

SubTask

interface SubTask : Task (source)

Mixin task interface providing convenience functions for accessing ItemGroup instances.

Functions

Name Summary
batchItems open fun <T> ItemGroup<T>.batchItems(): List<T>
Gets the items from the given item group that correspond to episodes.
item open fun <T> ItemGroup<T>.item(): T
Gets the item from the given item group that corresponds to entry.

Extension Properties

Name Summary
batch val Task.batch: String
The same as entry if this is a batch task; error otherwise.
currentTask val Task.currentTask: String
The name of this task.
entry val Task.entry: String
The entry (batch or episode) this task corresponds to.
episode val Task.episode: String
The same as entry if this is an episode task; error otherwise.
episodes val Task.episodes: List<String>
The episodes this task corresponds to. A single-item list containing episode if this is an episode task; a list of the episodes for the batch given by batch otherwise.
isBatch val Task.isBatch: Boolean
True if this task is a batch task.
release val Task.release: String
The release this task was generated for.
taskGroup val <T : Task> T.taskGroup: TaskGroup<T>
The TaskGroup instance this task belongs to.

Extension Functions

Name Summary
defaultProperty fun <T> Task.defaultProperty(default: T): Property<T>
Returns a Property with a default value set.
evaluate fun Task.evaluate(expression: String): Provider<List<String>!>!
Evaluates a string using Velocity, splits it on `
evaluateTemplate fun Task.evaluateTemplate(expression: String): Provider<String!>!
Like evaluate but only processes the template syntax, without globbing.
get fun Task.get(propertyName: String): Provider<String!>!
Searches for the given property in the Subs object's SubProperties instance, evaluates its value using evaluate, and returns a single string, assuming that the resulting list contains only one element.
getAs fun <T> Task.getAs(propertyName: String): Provider<T>!
Searches for the given property in the Subs object's SubProperties instance, evaluates its value using evaluate, and returns a single string, cast to the given type using String.asType, assuming that the resulting list contains only one element.
getFile fun Task.getFile(filename: String): Provider<String!>!
fun Task.getFile(filename: Provider<String>): Provider<String!>!
Reads the specified file and processes it using Velocity.
getList fun Task.getList(propertyName: String): Provider<List<String>>
Searches for the given property in the Subs object's SubProperties instance, and evaluates its value using evaluate.
getListAs fun <T> Task.getListAs(propertyName: String): Provider<List<T>!>!
Searches for the given property in the Subs object's SubProperties instance, evaluates its value using evaluate, and casts the list elements to the given type using String.asType.
getRaw fun Task.getRaw(propertyName: String): String
Searches for the given property in the Subs object's SubProperties instance, and returns the raw string. Raises an error if not found.
getRawMaybe fun Task.getRawMaybe(propertyName: String): String?
Searches for the given property in the Subs object's SubProperties instance, and returns the raw string, possibly null.
outputFile fun Task.outputFile(extension: String): ConfigurableFileCollection
Returns a ConfigurableFileCollection containing a single file taskName.extension located in the build directory.
propertyExists fun Task.propertyExists(propertyName: String): Boolean
Returns true if the given property exists in the Subs object's SubProperties instance for the given context.

Inheritors

Name Summary
AbstractTransferTask abstract class AbstractTransferTask<T> : AbstractCopyTask, SubTask
Automation open class Automation : DefaultTask, SubTask
Task for running Aegisub automations on a script using Aegisub CLI.
DefaultSubTask open class DefaultSubTask : DefaultTask, SubTask
Wrapper task for DefaultTask which implements SubTask, giving access to SubTask.item and SubTask.batchItems for convenience.
Discord open class Discord : DefaultTask, SubTask
Task for posting to a Discord webhook. Supports normal messages, embeds, and uploading files. A predefined task instance can be accessed through Subs.discord.
HTTP open class HTTP : PropertyTask, SubTask
Task for sending general HTTP requests. Data should be sent using one of json, body and form. The response can be retrieved from responseData or responseJson.
PropertyTask abstract class PropertyTask : DefaultTask, SubTask
Parent task type that automatically keeps track of and stores properties in JSON format.
SubCopy open class SubCopy : Copy, SubTask
Wrapper task for Copy which implements SubTask, giving access to SubTask.item and SubTask.batchItems for convenience.
SubExec open class SubExec : Exec, SubTask
Wrapper task for Exec which implements SubTask, giving access to SubTask.item and SubTask.batchItems for convenience.
SubSync open class SubSync : Sync, SubTask
Wrapper task for Sync which implements SubTask, giving access to SubTask.item and SubTask.batchItems for convenience.
SubZip open class SubZip : Zip, SubTask
Wrapper task for Zip which implements SubTask, giving access to SubTask.item and SubTask.batchItems for convenience.
Torrent open class Torrent : AbstractArchiveTask, SubTask
Task to create a torrent file from a set of files. A predefined task instance can be accessed through Subs.torrent.