InAndOutFileOperationRequest
@Incubating interface InAndOutFileOperationRequest
com.android.build.api.artifact.InAndOutFileOperationRequest |
Operations performed by a Task with a single RegularFile or Directory output.
Task is consuming existing version of the target ArtifactType and producing a new version.
Summary
Public methods |
|
---|---|
abstract Unit |
toTransform(type: ArtifactTypeT) Initiates a transform request to a single Artifact.Transformable artifact type. |
Public methods
toTransform
abstract fun <ArtifactTypeT> toTransform(type: ArtifactTypeT): Unit where ArtifactTypeT : Artifact.SingleArtifact<RegularFile>, ArtifactTypeT : Artifact.Transformable
Initiates a transform request to a single Artifact.Transformable artifact type.
Parameters | |
---|---|
type: ArtifactTypeT |
The Artifact identifying the artifact to transform. The Artifact's Artifact.kind must be Artifact.FILE. The artifact type must be Artifact.SingleArtifact and Artifact.Transformable. As an example, let's take a Task transforming an input org.gradle.api.file.RegularFile into an output: abstract class MyTask: DefaultTask() { @get:InputFile abstract val inputFile: RegularFileProperty @get:OutputFile abstract val outputFile: RegularFileProperty @TaskAction fun taskAction() { ... read inputFile and write outputFile ... } } An ArtifactType defined as follows : sealed class ArtifactType<T: FileSystemLocation>(val kind: ArtifactKind) { object SINGLE_FILE_ARTIFACT: ArtifactType<RegularFile>(FILE), Single, Transformable } You can register a transform to the collection of org.gradle.api.file.RegularFile. val taskProvider= projects.tasks.register(MyTask::class.java, "transformTask") artifacts.use(taskProvider) .wiredWithFiles( MyTask::inputFile, MyTask::outputFile) .toTransform(ArtifactType.SINGLE_FILE_ARTIFACT) |