Skip to content

Latest commit

 

History

History
83 lines (65 loc) · 15.3 KB

File metadata and controls

83 lines (65 loc) · 15.3 KB

subkt / myaa.subkt.tasks / AbstractTransferTask

AbstractTransferTask

abstract class AbstractTransferTask<T> : AbstractCopyTask, SubTask (source)

Types

Name Summary
DestDirRootSpec inner class DestDirRootSpec<T> : CopySpecInternal
CopySpec that captures the destination directory.
FileDetails data class FileDetails

Constructors

Name Summary
<init> AbstractTransferTask()

Properties

Name Summary
overwriteIf val overwriteIf: Property<OverwriteStrategy>
The overwriting strategy to use when encountering existing files with the same name. Defaults to OverwriteStrategy.DIFFERENT_SIZE.
progressLoggerFactory abstract val progressLoggerFactory: ProgressLoggerFactory

Functions

Name Summary
createClient abstract fun createClient(): T
createCopyAction fun createCopyAction(): CopyAction
createRootSpec open fun createRootSpec(): AbstractTransferTask.DestDirRootSpec<T>
getRootSpec open fun getRootSpec(): AbstractTransferTask.DestDirRootSpec<*>
makedir abstract fun makedir(client: T, path: String): Unit
makedirs fun makedirs(client: T, path: String): Unit
stat abstract fun stat(client: T, file: String): AbstractTransferTask.FileDetails?
upload abstract fun upload(client: T, file: InputStream, dest: String, callback: (Long) -> Unit): Boolean

Inherited 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.
includeExtensions fun PatternFilterable.includeExtensions(vararg extensions: String): Unit
Filter files by file extension. Case-insensitive.
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
FTP abstract class FTP : AbstractTransferTask<FTPClient>
Task for uploading files via FTP. A predefined task instance can be accessed through Subs.ftp.
SFTP abstract class SFTP : AbstractTransferTask<ChannelSftp>, SSHTask
Task for uploading files via SFTP (SSH). A predefined task instance can be accessed through Subs.sftp.